秘密代码题解
2024-09-16 20:17:38
发布于:北京
10阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
char s[40];
long long len;
void dfs(long long n,int h) {
if (h == 0){
cout << s[n];
return;
}
long long tem = len * (1ll << (h - 1));
if(tem >= n){
dfs(n,h - 1);
}else{
if(n - tem == 1) dfs(tem,h - 1);
else dfs(n - tem - 1,h - 1);
}
}
int main(){
cin >> s + 1;
len = strlen(s + 1);
long long n;
cin >> n;
for (int i = 0;;i ++) {
if (len * (1ll << i) >= n){
dfs(n,i);
break;
}
}
return 0;
}
这里空空如也
有帮助,赞一个