全RE求调,悬关
查看原帖
全RE求调,悬关
1398447
jiakeshang楼主2024/11/26 23:04
#include <bits/stdc++.h>
using namespace std;
int k=0;
int cnt=1;
const int N=1e7+10;
int a[200050];
int n[N];
int check(int z){
	for(int i=1;i<=a[z];++i){
		if((n[i]==true&&a[z]%i==0)||a[z]%7==0){
			return false;
		}
	}
	return true;
}
int dfs(int x){
	for(int i=1;i<=x;++i){
		if(n[i]==true&&x%i==0){
			cnt=0;
		}
	}
	if(cnt==0){
		cnt=1;
		dfs(x+1);
	}else{
		return x;
	}
	
}
int main(){
	cin>>k;
	for(int i=7;i<=N-1;i++){
		int x=i;
		while(x>0){
			if(x%10==7){
				n[i]=true;
				break;
			}else{
				x/=10;
			}
		}
	}
	for(int i=1;i<=k;++i){
		cin>>a[i];
	}
	for(int i=1;i<=k;++i){
		if(check(i)==false){
			cout<<-1<<endl;
		}else{
		cout<<dfs(a[i]+1)<<endl;
	}
	}
	return 0;
}
2024/11/26 23:04
加载中...