线性筛只要筛到 1e61e61e6 如果 nnn 还没有筛完那么剩下的 nnn 也是一个质数,直接输出。如果没有这一步会RE或者WA。
for(int i=1;n!=1&&i<=k;i++)//加上i<=k,说明如果n没有筛完那么n是一个大质数。如果不加会RE while(n%p[i]==0){ n/=p[i]; printf("%d ",p[i]); } if(n!=1) printf("%lld ",n);//如果线性筛完之后n仍然不是1,那说明剩下的n就是一个大质数,直接输出。如果没有加上会一直卡。