存一下,好迷啊 谢谢ryc师哥
bool a[1001]={0}; int b[1001]; int m=0; a[1]=1; for(int i=2;i<=n;++i) { if(!a[i]) b[++m]=i; for(int j=1;j<=m&&j*b[j]<n;++j) a[i*b[j]]=1; //不筛掉相同的合数 }