70ptsTLE代码求调
#include<iostream>
#include<stack>
using namespace std;
bool x[100000005],f;
int s,t,y;
int main(){
for(int i=0;i<=9;i++)
{
for(int i2=0;i2<=9;i2++)
{
for(int i3=0;i3<=9;i3++)
{
for(int i4=0;i4<=9;i4++)
{
for(int i5=0;i5<=9;i5++)
{
for(int i6=0;i6<=9;i6++)
{
for(int i7=0;i7<=9;i7++)
{
for(int i8=0;i8<=9;i8++)
{
s=i*1e7+i2*1e6+i3*1e5+i4*1e4+i5*1e3+i6*1e2+i7*10+i8;
if(s%7==0)x[s]=1;
if(i3==7||i==7||i2==7||i4==7||i5==7||i6==7||i7==7||i8==7)
{
x[s]=1;
}
}
}
}
}
}
}
}
}
cin>>t;
while(t--)
{
cin>>y;
f=1;
for(int i=1;i*i<=y;i++)
{
if(y%i==0)
{
if(x[i]||x[y/i])
{cout<<"-1"<<endl;
f=0;
break;
}
}
}
if(f){
for(int j=y+1;;j++)
{
if(x[j]==0)
{
f=1;
for(int i=1;i*i<=j;i++)
{
if(j%i==0)
{
if(x[i]||x[j/i])
{
f=0;
break;
}
}
}
if(f){
cout<<j<<endl;
break;
}
}
}
}
}
return 0;
}