#12101. 珅泽教育CSP-J第一轮模拟考第二十一套 第 36 题
珅泽教育CSP-J第一轮模拟考第二十一套 第 36 题
三、完善程序(单选题,每小题 3 分,共计 30 分)
程序(1)
(优美的进制)给出整数 。当且仅当 在 进制下至少有两位,且每一位的数值都不同,我们称 进制是优美的。求对于给定的 ,有哪些进制是优美的;不存在则输出 -1。试补全程序。
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100000;
int n;
int vis[MAXN], a[MAXN];
vector<int> ans;
int check(int k) {
int x = n, top = 0;
for (int i = 0; i <= k; i++) vis[i] = 0;
while (①) {
a[++top] = ②;
x = ③;
}
if (top < 2)
return 0;
for (int i = 1; i <= top; i++) {
if (④)
return 0;
vis[a[i]] = 1;
}
return 1;
}
int main() {
cin >> n;
for (int i = ⑤; i <= n; i++) {
if (check(i))
ans.push_back(i);
}
if (ans.empty()) {
cout << -1;
}
for (int i = 0; i < ans.size(); i++)
cout << ans[i] << " ";
return 0;
}
③处应填( )。
{{ select(1) }}
x / kx % k(x - 1) / k + 1(x - 1) % k + 1