参考程序:
#include <iostream>
#include <cmath>
using namespace std;int nextPerfectSquare(int a) {int sqrt_a = (int)sqrt(a);if (sqrt_a * sqrt_a < a) {sqrt_a++; // 如果 sqrt(a) 的平方小于 a,那么就需要加 1,找到下一个完全平方数}return sqrt_a * sqrt_a; // 返回下一个完全平方数
}int main() {int a, N;cin >> a >> N;// 计算下一个完全平方数int next_square = nextPerfectSquare(a);// 对每个输入的数字进行处理for (int i = 0; i < N; ++i) {int x;cin >> x;if (x >= next_square && x % next_square == 0) {// 如果 x >= next_square 且是完全平方数的倍数,说明它是幸运数cout << "lucky" << endl;} else {// 如果 x 不是幸运数,进行幸运化处理while (x % next_square != 0) {x++;}cout << x << endl; // 输出幸运化后的结果}}return 0;
}