天天看點

漢諾塔(最簡單的版本,三柱子,一次移一個,大的不能在小的上)

#include <iostream>

using namespace std;
int cnt=0;
void move(int n,int s,int z,int e){
    if(n==0) return;
    move(n-1,s,e,z);
    cnt++;cout<<"第"<<n<<"個珠子"<<"從"<<s<<"移動到"<<e<<endl;
    move(n-1,z,s,e);
    //return cnt;
}
int main()
{
    cout<<"輸入漢諾塔珠子個數"<<endl;
    int n;cin>>n;
    move(n,1,2,3);
    cout<<"移動次數"<<cnt<<endl;;
    return 0;
}

           

繼續閱讀