参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题8.1 (Java代码)浏览:774 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:758 |
程序员的表白 (C语言代码)浏览:1316 |
简单的a+b (C语言代码)浏览:596 |
WU-复数求和 (C++代码)浏览:1995 |
WU-陶陶摘苹果2 (C++代码)浏览:967 |
【金明的预算方案】 (C++代码)浏览:837 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:580 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
核桃的数量 (C语言代码)浏览:870 |