为什么会RE:(

P3383 【模板】线性筛素数

@[wwwwtf](/space/show?uid=49200) 数组太小了吧,您开的1e5,n最大1e7。
by Loner_Knowledge @ 2018-01-14 21:55:03


我也RE 大佬帮忙看下啊30分 显示已停止工作?? #include <bits/stdc++.h> using namespace std; bool b[10000007]; int main() { int i,f,j,n,k,m; cin>>n>>m; for(i=1;i<=n;i++)b[i]=1; b[1]=0,b[0]=0; for (j=2;j<=n/2;j++) { if (b[j]) for (k=j*j;k<=n;k+=j) b[k]=0; } for (i=1;i<=m;i++) { cin>>k; if (b[k]) printf("Yes\n"); else printf("No\n"); } return 0; }
by _bql @ 2018-02-24 11:24:09


开头的井号被markdown和谐了,格式也被和谐了……就这样看
by _bql @ 2018-02-24 11:25:18


for (k=j*j;k<=n;k+=j) 应改为 for (k=j*2;k<=n;k+=j)
by 星河·莫 @ 2018-03-07 12:55:43


j*j=100000000000000>2147483647 当然会RE
by 星河·莫 @ 2018-03-07 12:57:06


并且100000000000000>10000007 也就意味着爆栈
by 星河·莫 @ 2018-03-07 12:58:09


|