晚上洛谷还有人吗? 题目:给出一个正整数n(2≤n≤1000000),例如n=30,在1,2,3,……30中,连续的非素数有
4 长度为1
6 长度为1
8 9 10 长度为3
12 长度为1
14 15 16 长度为3
18 长度为1
20 21 22 长度为3
24 25 26 27 28 长度为5
30 长度为1
其中,最大长度为5,即有连续的5个非素数。
代码:
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(3)
int n,sum=0,max1=INT_MIN;
bool sushu(int x){
if(x==1) return true;
else if(x==2) return true;
for(int i=2;i<x;i++){
if(x%i==0) return false;
}
return true;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
if(sushu(i)){
if(sum>max1) max1=sum;
sum=0;
}else sum++;
}
if(sum>max1) max1=sum;
cout<<max1<<endl;
return 0;
}
TLE%90,能有人帮帮我吗?