约 8 分钟
开数组 notp[] 标记是否为合数,从小到大遇到没被标记的 i 就是质数,再把它的倍数全标记为合数。for(int i=2;i<=n;i++) if(!notp[i]) for(int j=2*i;j<=n;j+=i) notp[j]=true;。
notp[]
for(int i=2;i<=n;i++) if(!notp[i]) for(int j=2*i;j<=n;j+=i) notp[j]=true;
外层 i=2 时,内层会标记哪些下标?
登录 后可看答案