你怎么知道我在临时抱佛脚,下午就要考试了
只过了 #1,样例没过,但是感觉好像没有问题
码风奇异(
#include<bits/stdc++.h>
using namespace std;
bool is_lucky[1000001];
int next_lucky[1000001];
int main()
{
int a,T;
cin>>a>>T;
for(int i=1;i<=1000000;i++)
{
int t=int(sqrt(i));
if(i>=a&&t*t==i)is_lucky[i]=1;
if(!is_lucky[i])continue;
for(int j=i+1;j<=1000000;j+=i)is_lucky[j]=1;
}
for(int i=1000000;i;i--)next_lucky[i]=is_lucky[i]?i:next_lucky[i+1];
while(T--)
{
int x;
cin>>x;
if(is_lucky[x])cout<<"lucky\n";
else cout<<next_lucky[x]<<endl;
}
return 0;
}