@[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