- 连续非素数的最长度
连续非素数的最长度(求优化)
- 2024-9-17 14:16:53 @
55 Time Exceeded
#include<bits/stdc++.h>
using namespace std;
int a[1000000];
int b[1000000];
int n,e,demp=INT_MIN,cnt=1;
int main()
{
cin>>n;
for (int j=1;j<=n-1;j++)
{
for (int i = 2;i<=sqrt(j);i++)
{
if (j%i == 0)
{
a[e]=j;
}
}
e++;
}
e=1;
for (int i=1;i<=n;i++)
{
if (a[i]!=0) b[e++]=a[i];
}
for (int i=1;i<e;i++)
{
if (b[i]==b[i+1]-1)
{
cnt++;
}
else
{
if (demp<cnt)
{
demp=cnt;
}
cnt=1;
}
}
demp = max(demp,cnt);
cout<<demp;
return 0;
}
刚学不久,跪求更改
2 条评论
-
汪乐轩 @ 2024-9-30 20:52:53
#include<bits/stdc++.h> using namespace std; bool su(int n) { for(int i=2;i<=sqrt(n);i++) { if(n%i==0) return true; } return false; } int main(){ int n; cin>>n; int cnt = 0,max_1 = -1; for(int i=3;i<=n;i++) { if(su(i)) { cnt++; } else { max_1 = max(max_1,cnt); cnt = 0; } } max_1 = max(max_1,cnt); cout<<max_1; }
-
2024-9-27 21:24:56@
卡了一点时间,加上`break就可以了😃 100 AC
#include<iostream> #include<bits/stdc++.h> using namespace std; int a[1000000]; int b[1000000]; int n,e,demp=INT_MIN,cnt=1; int main(){ cin>>n; for (int j=1;j<=n-1;j++){ for (int i = 2;i<=sqrt(j);i++){ if (j%i == 0){ a[e]=j; break; } } e++; } e=1; for (int i=1;i<=n;i++){ if (a[i]!=0) b[e++]=a[i]; } for (int i=1;i<e;i++){ if (b[i]==b[i+1]-1){ cnt++; } else{ if (demp<cnt){ demp=cnt; } cnt=1; } } demp = max(demp,cnt); cout<<demp; return 0; }
- 1
信息
- ID
- 1059
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 36
- 已通过
- 9
- 上传者