编辑代码

#include <iostream>
using namespace std;
int move(int n,char x,char y)
{
    int count=1;
    cout<<"把"<<n<<"从"<<x<<"移动到"<<y<<endl;
    return count;
}
int hanoi(unsigned int n,char x,char y,char z)
{
    int count=0;
    if(n==1)
    {
        return move(n,x,y);
    }
    if(n>1)
    {
        count+=hanoi(n-1,x,z,y);
        count+=move(n,x,y);
        count+=hanoi(n-1,z,y,x);
    }
    return count;
}
int main () {
    unsigned int n;
    cin>>n;
    int count=hanoi(n,'a','b','c');
    cout<<"总共需要:"<<count<<"步";
	return 0;
}