[C] 纯文本查看 复制代码 #include<bits/stdc++.h>
using namespace std;
int s=0,m;
char a[100];
char a1[17]={"0123456789ABCDEF"};
int jzzh(int n)
{
if(n==0)
{
return 0;
}
else
{
s++;
if(n%m>=10)
{
a[s]=n%m+55;
}
else
{
a[s]=n%m+'0';
}
return jzzh(n/m);
}
}
void jinzhi(int n)
{
if(n==0) return;
else
{
jinzhi(n/m);
cout<<a1[n%m];
}
}
int hntdt(int n)
{
a[1]=1;
for(int i=2;i<=n;i++)
{
a[i]=a[i-1]*2+1;
}
return a[n];
}
int hntdg(int n)
{
if(n==1) return 1;
else
{
return hntdg(n-1)*2+1;
}
}
void hntdg2(int n,char a,char b,char c)
{
if(n==1) cout<<n<<':'<<a<<"->"<<c<<endl;
else
{
hntdg2(n-1,a,c,b);
cout<<n<<':'<<a<<"->"<<c<<endl;
hntdg2(n-1,b,a,c);
}
}
int main()
{
int n;
cin>>n;
char a='a';
char b='b';
char c='c';
//jzzh(n);
//for(int i=s;i>=1;i--)
{
//cout<<a[i];
}
//jinzhi(n);
//cout<<hntdt(n);
//cout<<hntdg(n);
hntdg2(n,a,b,c);
return 0;
}
|