代码如下,谢谢大佬!
#include<bits/stdc++.h>
using namespace std;
bool judge[10000010];
bool judge1(int n){
int m=n;
while(n>0){
if(n%10==7){
judge[m]=1;
return 1;
}
n/=10;
}
return 0;
}
bool judge2(int n){
for(int i=1;i*i<=n;i++){
if(n%i==0){
if(judge1(i)){
return 1;
judge[n]=judge[i]=1;
}
if(judge1(n/i)){
return 1;
judge[n]=judge[n/i]=1;
}
}
}
return 0;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--){
int x;
cin>>x;
if(judge[x]==true){
cout<<-1<<'\n';
continue;
}
if(judge2(x)){
cout<<-1<<'\n';
continue;
}
for(;;x++){
if(judge[x+1])continue;
if(judge2(x+1))continue;
break;
}
cout<<x+1<<'\n';
}
return 0;
}