llllmz

导航

4147:汉诺塔问题(Tower of Hanoi)C++

递归C和C++一样,就写个C++了。

#include<iostream>
using namespace std;
void move(int n,char a,char b,char c){
    if(n<=0) return;
    move(n-1,a,c,b);
    cout << n << ":"<<a<<"->"<<c <<'\n';
    move(n-1,b,a,c);
}

int main(){
    int n;
    char a, b ,c;
    while(cin >> n>> a >> b >> c){
        move(n,a,b,c);
    }
    return 0;
}

这里的move函数看作一个黑盒,作用就是将A柱上的最上面元素移到C柱上去,而B柱就是其中移动中需要借助的工具。

结果:

posted on 2024-01-22 17:05  神奇的萝卜丝  阅读(41)  评论(0)    收藏  举报