1029: 用筛法求之N内的素数
1.描述
用筛法求之N内的素数。
输入
N
输出
0~N的素数
样例输入
100
样例输出
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
2.代码
方法一
#include<stdio.h>
int main()
{
int n,i,j,f;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
f=0;
for(j=2;j<i;j++)
{
if(!(i%j))//与i%j==0的效果一样
//“!"作为单目运算符的意思是取非,如!真=假,!假=真。C语言中一般情况下0表示假,非0表示真。
{
f++;
}
}
if(!f)//与f==0的效果一样
{
printf("%d\n",i);;
}
}
}
方法二
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,f;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(i==2)
{
printf("2\n");
}
if(i%2)//与i%2!=0的效果相同
{
f=0;
for(j=2;j<i;j++)
{
if(!(i%j))
{
f++;
}
}
if(!f)
{
printf("%d\n",i);
}
}
}
}
方法三
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,root,f;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
f=0;
root=sqrt(i);
for(j=2;j<=root;j++)
{
if(!(i%j))
{
f++;
}
}
if(!f)
{
printf("%d\n",i);;
}
}
}