题目链接:FJ的字符串
观察样例,可以发现规律:
1 3 5 7 ……为A
2 6 10 ……为B
4 12 ……为C
……
即第2^i*(1+2j)个字符应为'A'+i
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
int n;
cin>>n;
int len=pow(2,n);
s.resize(len);
for(int i=0;i<26;i++)
for(int j=0;;j++)
if(pow(2,i)*(1+2*j)<len)
s[pow(2,i)*(1+2*j)]='A'+i;
else
break;
for(int i=1;i<len;i++)
cout<<s[i];
return 0;
}