解法01:
#include <cstdio>
#include <cstring>
void An(int n)
{
int i;
if(n == 1)
printf("A");
for(i = 2; i <= n; i++)
{
if(i <= 2)
An(i-1);
printf("%c", 'A' + i - 1);
An(i-1);
}
}
int main()
{
int n;
scanf("%d", &n);
An(n);
return 0;
}
解法02:
#include <bits/stdc++.h>
using namespace std;
string char2str(int n)
{
if('A'==n)
return "A";
else if('A'+1==n)
return "B";
else if('A'+2==n)
return "C";
else if('A'+3==n)
return "D";
else if('A'+4==n)
return "E";
else if('A'+5==n)
return "F";
else if('A'+6==n)
return "G";
else if('A'+7==n)
return "H";
else if('A'+8==n)
return "I";
else if('A'+9==n)
return "J";
else if('A'+10==n)
return "K";
else if('A'+11==n)
return "L";
else if('A'+12==n)
return "M";
else if('A'+13==n)
return "N";
else if('A'+14==n)
return "O";
else if('A'+15==n)
return "P";
else if('A'+16==n)
return "Q";
else if('A'+17==n)
return "R";
else if('A'+18==n) //abcdefghijklmnopqrstuvwxyz
return "S";
else if('A'+19==n)
return "T";
else if('A'+20==n)
return "U";
else if('A'+21==n)
return "V";
else if('A'+22==n)
return "W";
else if('A'+23==n)
return "X";
else if('A'+24==n)
return "Y";
else if('A'+25==n)
return "Z";
}
string f(int n)
{
if(n==1)
return "A";
else
{
string temp=f(n-1);
return temp+char2str('A'+n-1)+temp;
}
}
int main()
{
int n;
cin>>n;
cout<<f(n)<<endl;
return 0;
}