fzu-jpy

Hanoi塔问题

汉诺塔问题

#include <iostream> using namespace std; void Hanoi(int n, char src, char mid, char dest ) //将src上的盘子以mid为中转移动到dest { if (n == 1){ cout << src << "-->" << dest <<endl; return; } //如果只有一个盘子,那么直接从src移动到dest即可 Hanoi(n-1, src, dest, mid); //先将n-1个盘子从src移动到mid,以dest为中转 cout << src << "-->" << dest <<endl; //再将最大的一个盘子从src直接移动到dest Hanoi(n-1, mid, src, dest); //最后将n-1个盘子从mid移动到dest,以src为中转 } int main(){ int n; cin >> n; Hanoi(n, 'A', 'B', 'C'); return 0; }

 

分类:

技术点:

相关文章:

  • 2021-08-27
猜你喜欢
  • 2021-09-22
  • 2021-11-28
  • 2021-12-23
  • 2021-06-18
  • 2021-12-19
相关资源
相似解决方案