Description
用筛法求之N内的素数。
Input
N
Output
0~N的素数
Sample Input
100
Sample Output
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
#include <stdio.h>
int main()
{
int i,j,n;
char num[10000];
num[0]=num[1]=0;
num[2]=1;
scanf("%d",&n);
for (i=3;i<=n;i+=2)
num[i]=1;
for (i=4;i<=n;i+=2)
num[i]=0;
for (i=3;i*i<=n;i+=2)
if (num[i])
for (j=i*i;j<=n;j+=i+i)
if (num[j])
num[j]=0;
for (i=0;i<=n;i++)
if (num[i])
{
printf("%d\n",i);
}
return 0;
}
运算结果
知识点总结
考察对素数的理解以及判断方法
学习心得
对这一算法还不是很理解,还需加深理解