10分求助
查看原帖
10分求助
916579
GoodLuckCat楼主2024/3/16 09:05

你怎么知道我在临时抱佛脚,下午就要考试了

只过了 #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;
}
2024/3/16 09:05
加载中...