官方题解|美丽数 III
2025-03-02 22:08:04
发布于:浙江
35阅读
0回复
0点赞
题目解析
令 为「美丽数」的位数,不难发现 ,同时 的「美丽数」有 个, 的「美丽数」也有 个……
「美丽数」每增长 位,就会多出 个「美丽数」,所以要想知道第 个「美丽数」,我们就可以先计算出其位数 ,再枚举 和 即可。
AC 代码
#include <bits/stdc++.h>
int main() {
int n; std::cin >> n;
int m = (n - 1) / 36 + 1, k = (n - 1) % 36;
for (int a = 1; a <= 9; ++a)
for (int b = a + 1; b <= 9; ++b) {
if (k == 0) {
std::cout << a;
for (int i = 0; i < m; ++i)
std::cout << b;
return 0;
}
k -= 1;
}
return 0;
}
这里空空如也
有帮助,赞一个