for(int i=2;i<=n;i++)
{
if(!sta[i]) //sta[i] 判断是否为合数;
prime[cnt++]=i; //prime[i]存储质数;
for(int j=0;j<cnt&&prime[j]<=n/i;j++)
{
sta[i*prime[j]]=true; //除去合数;
if(!(i%prime[j]))
break;
}
}
%%%%%%%%%%%%%
牛啊牛啊,写得好