Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
74615 | 陶俊宸 | 连续非素数的最长度 | C++ | 通过 | 100 | 7 MS | 976 KB | 439 | 2023-05-27 16:45:44 |
#include<cstdio> #include<algorithm> using namespace std; bool st[1000001]={false,true}; int n,pn[100000],cnt,cn,maxn; int main(){ scanf("%d",&n); for(int i=2;i<=n;i++){ if(!st[i]) pn[cnt++]=i; for(int j=0;j<cnt&&pn[j]<=n/i;j++){ st[i*pn[j]]=true; if(!(i%pn[j])) break; } } for(int i=1;i<=n;i++){ if(!st[i]) maxn=max(maxn,cn),cn=0; else cn++; } maxn=max(maxn,cn); printf("%d",maxn); return 0; }