汉诺塔源码
1 #include"iostream" 2 using namespace std; 3 void 移动(int n,char 被移动,char 借助,char 目标)//汉诺塔 4 { 5 if (1 == n){ 6 cout << "从" << 被移动 <<"移动一个盘子到" << 目标 << endl; 7 } 8 else{ 9 移动(n - 1, 被移动, 目标, 借助); 10 移动(1, 被移动, 借助, 目标); 11 移动(n - 1, 借助, 被移动, 目标); 12 } 13 } 14 int main() 15 { 16 int 盘子数; 17 cout << "请输入有几个盘子:"; 18 cin >> 盘子数; 19 移动(盘子数,'A','B','C'); 20 system("pause"); 21 }
1 #include"iostream" 2 void move(int n, char a, char b, char c){ 3 if (1 == n)std::cout <<a << "-->" << c << "\n"; 4 else{ 5 move(n - 1, a, c, b); 6 move(1, a, b, c); 7 move(n - 1, b, a, c); 8 } 9 } 10 int main(){ 11 move(3, 'A', 'B', 'C'); 12 }