解题思路:素数筛法的解题思路是:将要查找的范围排列成一对,找到一个素数比如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 人评分
汽水瓶 (C语言代码)浏览:764 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:564 |
不容易系列 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:644 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:368 |
【排队买票】 (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:552 |
【明明的随机数】 (C语言代码)浏览:845 |
【矩阵】 (C++代码)浏览:999 |