素数"/>
Problem D 筛法求素数
Problem Description
使用筛法求正整数n以内的所有素数,并从小到大输出。
Input Description
从键盘输入一个正整数n。
Output Description
按照从小到大的顺序输出n以内的所有素数,相互之间以一个空格分隔。
注意:最后一个后面不能有空格。
Sample Input
10
Sample Output
2 3 5 7
#include <stdio.h>int main()
{int n;scanf("%d", &n);int ch[n + 1];for(int m = 2; m <= n; m++)ch[m] = m;for(int i = 2; i <= n; i++){for(int j = 2; j * i <= n; j++){if(j * i <= n)ch[j * i] = 0;}}for(int i = 2; i <= n; i++){if(ch[i] == 2)printf("%d", 2);else if(ch[i] != 0)printf(" %d", ch[i]);}return 0;
}
更多推荐
Problem D 筛法求素数
发布评论