题解
2025-05-25 15:17:26
发布于:四川
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
string s;
long long n, len;
void f(long long n, int i){
if(i == 0){
cout << s[n];
return ;
}
long long t = len * (1ll << (i - 1));
if(t > n) f(n, i - 1);
else {
if(t == n - 1) f(t, i - 1);
else f(n - t - 1, i - 1);
}
}
int main() {
cin >> s;
len = s.size();
cin >> n;
for(int i = len; i >= 1; i--)
s[i] = s[i-1];
for(int i = 0; ; i++){
if(len * (1ll << i) >= n){
f(n, i);
break;
}
}
return 0;
}
这里空空如也
有帮助,赞一个