题目描述
用简单素数筛选法求N以内的素数。
格式输入\输出
输入格式
N
输出格式
2~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
题解
解题思路:
1.素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
(也就是只有 1 和它本身能整除)
2.利用两个for循环来判断素数。
#include<stdio.h>
int main()
{
int i,j;
int N,a;
scanf("%d",&N);
for(i=2;i<=N;i++) //因为 1 不是素数,所以 i 要从 2 开始
{
a=0; // a 要赋值 0 否则会出错
for(j=2;j<i;j++) //第二个循环判断 i 能否能被其它数整除
{
if(i%j==0) //如果 i 能被其它数整除,a 就自增
a++;
}
if(a==0) //判断 a=0 如果这个数除了本身和 1 没有数能整除它就输出
printf("%d\n",i);//输出这边注意要换行
}
return 0;
}