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
      上传者