c语言新手请教大神,素数筛选
请问我这个求素数个数的筛选法哪里出错,求大神指教,麻烦修改一下。ps:太深的我可能不会,才学了一个月。。
程序代码:
#include<stdio.h> #include<math.h> main() { int i,j,x,num=0,a[100000],true,false; long n; scanf("%d",&n); a[2]=true; for(i=3;i<=n;i++) { if(i%2==0) a[i]=false; else a[i]=true; } for(i=3;i<=n;i++) { if(a[i]==true) for(j=2;j<=sqrt(i);j++) {if(i%j==0) a[i]=false;break;} if(j>sqrt(i)) {a[i]=true; for(x=i+i;x<=n;x=x+i) a[x]=false; } } for(i=2;i<=n;i++) {if(a[i]==true) num++; } printf("%d",num); }
[ 本帖最后由 林linking 于 2013-10-26 20:56 编辑 ]