70分超时后三点求调
查看原帖
70分超时后三点求调
999464
Jaxent楼主2025/1/19 11:36
#include<bits/stdc++.h>
using namespace std;
const int N=10000000+100;
int t,n,s[N];
int sss(int x){
	while(x!=0){
		if(x%10==7){
			return 0;
		}
		x/=10;
	}
	return 1;
}
void biaoji(){
	for(int i=1;i<=N;i++){
		if(sss(i)==0){
			for(int j=1;i*j<=N;j++){
				s[i*j]=1;
			}
		}
	}
}
int find(int x){
	x++;
	while(s[x]==1){
		x++;
	}
	return x;
}
int main(){
	cin>>t;
	biaoji();
	while(t--){
		cin>>n;
		if(s[n]!=1){
			cout<<find(n)<<endl;
		}
		else{
			cout<<-1<<endl;
		}
	}
	return 0;
}

2025/1/19 11:36
加载中...