参考代码:
#include <stdio.h> #include <math.h> typedef int bool; #define true 1 #define false 0 int main() { int n, i, j; scanf("%d", &n); bool flag[n + 3]; for (i = 2;i <= n; i += 2) { flag[i] = false; flag[i + 1] = true; } flag[2] = true; for(i = 3;i <= sqrt(1.0 * n); i += 2) { if(flag[i] == true) { for(j = i * i; j < n; j += 2 * i) { flag[j] = false; } } } for(int k = 1; k <= n; k++) { if(flag[k] == true) { printf("%d ",k); } } return 0; }
0.0分
0 人评分