求大佬,为什么会tle
  • 板块学术版
  • 楼主Yzmddsw
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/11/21 07:58
  • 上次更新2023/11/3 23:53:20
查看原帖
求大佬,为什么会tle
540870
Yzmddsw楼主2021/11/21 07:58

求大佬帮忙优化

#include<iostream>
#include<cstdlib>
#include<ctime>
#include<cstdio>
#include<cmath>
#include<string>
#include<fstream>
#include<algorithm>
using namespace std;
bool yam(int x)
{
	while(x!=0)
	{
		if(x%10==7)
		{
			return 1;
		}
		x=x/10;
	}
	return 0;
}

int k[10000005];
int main()
{
k[1]=1;
k[2]=2;
k[3]=3;
k[4]=4;
k[5]=5;
k[6]=6;
long long a,b[10000005];
	for(int i=7;i<10000005;i++)
	{
		if(yam(i)==0&&k[i]!=-1)
        {
        k[i]=i;
        }
        if(k[i]==0)
        {
        for(int j=1;j*i<10000005;j++)
        {
        k[j*i]=-1;
        }
        }
	}
	cin>>a;
	for(int i=0;i<a;i++)
	{
	cin>>b[i];
    
	if(k[b[i]]==0||k[b[i]]==-1)
	cout<<-1<<endl;
    else if(yam(b[i])==0){
    b[i]=b[i]+1;
	for(;k[b[i]]!=b[i];b[i]++);   
    cout<<b[i]<<endl;
    }
   
	}
	return 0;
}

2021/11/21 07:58
加载中...