汉诺塔问题
来源:互联网 发布:数据库性能测试工具 编辑:程序博客网 时间:2024/06/05 02:09
汉诺塔是根据一个传说形成的数学问题:
每次只能移动一个圆盘;
大盘不能叠在小盘上面。
提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。
问:如何移?最少要移动多少次?
#include <iostream>using namespace std;void hannoi(int n, char A, char B, char C){if (n == 1){cout << "Move disk " << n << " from " << A << " to " << C << endl;}else{hannoi(n - 1, A, C, B);cout << "Move disk " << n << " from " << A << " to " << C << endl;hannoi(n - 1, B, A, C);}}int main(){cout << "Enter count of disks:";int n;//盘子的个数cin >> n;hannoi(n, 'A', 'B', 'C');return 0;}
Python版本
def honnoi(n, A, B, C): if n==1: print("disk",n,"from",A,"to",C) else: honnoi(n-1,A,C,B) print("disk", n, "from", A, "to", C) honnoi(n-1,B,A,C)honnoi(6,'A','B','C')注意:调用honnoi()时要使用字符变量当作参数,否则需要修改print打印参数的格式
阅读全文
0 0
- 汉诺塔问题 背包问题
- 递归问题,汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题.
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 汉诺塔问题
- 获取两个字符串中最大相同子串
- Struts2返回json数据 intellij环境配置
- test
- RTMP-握手
- 常用问题(三)
- 汉诺塔问题
- Python 二进制、八进制、十六进制转换函数
- 用sql 来生成索引
- 日期类->日期计算器
- RTMP-分块格式
- Redis 内存淘汰机制详解
- RTMP-推流流程
- 建立java The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- RTMP-播放流程