#include <bits/stdc++.h>
#define maxx 20005
using namespace std;
int f[maxx+5];
int t,x;
inline int qi(int x)
{
int m=x;
while(m!=0)
{
if(m%10==7)
return 1;
else
m/=10;
}
return 0;
}
int main()
{
for(register int i=1;i<=maxx;i++)
{
if(qi(i)==1)
{
for(register int j=1;j*i<=maxx;j++)
f[j*i]=-1;
}
}
for(register int i=1;i<=maxx;i++)
{
if(f[i]!=-1)
{
for(register int n=i+1;n<=maxx;n++)
{
if(f[n]!=-1)
{
f[i]=n;
break;
}
}
}
}
scanf("%d",&t);
for(register int i=1;i<=t;i++)
{
scanf("%d",&x);
printf("%d\n",f[x]);
}
return 0;
}
但是,为什么代码这么短,评测点下面是 34 多 MB