汉诺塔_ios

#include<iostream>
#include<string.h>

using namespace std;

int num=0; //统计移动次数
void hanio(int n,char a,char b,char c)
{
if(n==1)
{
num++;
cout<<"第"<<num<<"次,从"<<a<<"到"<<c<<endl;
}else
{
hanio(n-1,a,c,b);
num++;
cout<<"第"<<num<<"次,从"<<a<<"到"<<c<<endl;
hanio(n-1,b,a,c);
}
}
int main(){
int n=2;
hanio(n,'A','B','C');
}

汉诺塔_#include_02

计算移动次数

#include<iostream>
using namespace std;

int hanio(int n){
if(n==1){
return 1;
}
else{
return 2*hanio(n-1)+1;
}
}

int main(){
int n;
cout<<"请输入一个数"<<endl;
cin>>n;
cout<<"结果为:"<<endl;
cout<<hanio(n)<<endl;
return 0;
}

汉诺塔_ios_03