rt,我调了半天,求质数时不要带上 mmm,错误写法:
for(register int i=2;i<=m;i++){ if(!f[i]) prime[i]=1; for(register int j=1;i*j<=m;j++) f[i*j]=1; }
正确写法:
for(register int i=2;i<m;i++){ if(!f[i]) prime[i]=1; for(register int j=1;i*j<m;j++) f[i*j]=1; }