问题:将n个盘从A移到C,借助Bios
一、n==1,直接从A移到C,返回;spa
二、递归,将n-1个盘从A移到B,借助C;code
三、1个盘从A移到C;递归
四、递归,n-1个盘从B移到C,借助A。io
#include<iostream> using namespace std; void move(char src, char dest){ cout<<src<<"-->"<<dest<<endl; } void hanoi(int n, char chA, char chB, char chC){ if(n==1){ move(chA, chC); return; } hanoi(n-1, chA, chC, chB); move(chA, chC); hanoi(n-1, chB, chA, chC); } int main(){ hanoi(10, 'A', 'B', 'C'); return 0; }
等有空再整理吧class