解题思路:素数筛法的解题思路是:将要查找的范围排列成一对,找到一个素数比如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语言考试练习题_一元二次方程 (C语言代码)浏览:737 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:439 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:614 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:464 |
【明明的随机数】 (C语言代码)浏览:787 |
DNA (C语言代码)浏览:749 |
勾股数 (C语言代码)浏览:799 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1475 |
拯救雅典娜浏览:1241 |
简单的a+b (C语言代码)浏览:353 |