自行食用
2025-07-14 14:42:01
发布于:浙江
76阅读
0回复
0点赞
#include <iostream>
#include <vector>
using namespace std;
// 计算S(k)的长度
long long getLength(int k) {
if (k == 0) return 3;
return 2 * getLength(k-1) + k + 3;
}
// 查找第N个字符
char findChar(int N, int k) {
if (k == 0) {
if (N == 1) return 'm';
return 'o'; // N=2或3
}
long long len_k_1 = getLength(k-1);
if (N <= len_k_1) {
return findChar(N, k-1);
}
else if (N == len_k_1 + 1) {
return 'm';
}
else if (N <= len_k_1 + 1 + (k + 2)) {
return 'o';
}
else {
return findChar(N - (len_k_1 + 1 + (k + 2)), k-1);
}
}
int main() {
int N;
cin >> N;
// 找到最小的k使得S(k)长度≥N
int k = 0;
while (getLength(k) < N) {
k++;
}
cout << findChar(N, k) << endl;
return 0;
}
全部评论 4
但我就不加



2026-04-12 来自 河北
1我和“穿越时空ℜ”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1988761617416822784
11小时前 来自 浙江
0我和“穿越时空ℜ”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1988761617416822784
11小时前 来自 浙江
0










































































1

























2026-05-03 来自 广东
0






















有帮助,赞一个