社区讨论

代码过了样例,但交上去只有十分

B3929[GESP202312 五级] 小杨的幸运数参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lxtwqobz
此快照首次捕获于
2024/06/25 12:29
2 年前
此快照最后确认于
2024/06/25 17:06
2 年前
查看原帖
CPP
#include<iostream>
#define cl cout << l << endl;
using namespace std;
int n, k;
string l = "lucky";
bool allnum[10001000];
void init() {
	for (int i = 2, x; i * i <= 10000000; i++) {
		x = i * i;
		for (int i = 1; i * x <= 10000000; i++)
			allnum[i * x] = true;
	}
}
int main() {
	init();
	cin >> k >> n;
	for (int i = 1; i <= n; i++) {
		int now;
		cin >> now;
		if (now < k) {
			if(allnum[k])
				cout << k << endl;
			else {
			    int now1 = k;
				while (allnum[now1] == 0) 
					now1++;
				cout << now1 << endl;
			}
		} else if (now == k) {
			cl
		} else {
			if (allnum[now])
				cl
			else {
				while (allnum[now]==0)
					now++;
				cout << now << endl;
			}
		}

	}
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...