如果你开了long long 并且在之前的帖子没有找到问题,那你可能是写线性筛的时候写成了 for(int j=1;j<=tot&&prime[j]<maxn/i;j++) 应该写成 for(int j=1;j<=tot&&prime[j]*i<maxn;j++) 。但我感觉这两个应该是等价的啊/yun,有没有大佬解释一下。
for(int j=1;j<=tot&&prime[j]<maxn/i;j++)
for(int j=1;j<=tot&&prime[j]*i<maxn;j++)