解题思路:素数筛法的解题思路是:将要查找的范围排列成一对,找到一个素数比如2那么所有2的整数倍都是合数,找到合数后使其出列(a[i]=0),循环往复,队列中剩余的数字全是素数。
注意事项:
参考代码:
#include int main(){ int a[1000001]; int i,j,t,n; scanf("%d",&n); for(i=2;i<=n;i++){ a[i]=i;//把前n个数存入到数组 } for(i=2;i<=n;i++){ if(a[i]!=0){ t=a[i];//a[i]不为0是素数 输出 printf("%d\n",i); } for(j=t;j<=n;j+=t){ a[j]=0;// a[j]有约数不是素数不需要输出置0 } return 0; }
0.0分
3 人评分
wu-理财计划 (C++代码)浏览:827 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:519 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:552 |
数字游戏 (C++代码)浏览:1177 |
1071题解浏览:484 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:678 |
C二级辅导-统计字符 (C语言代码)浏览:476 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |