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 编辑 ]






