py_递归实例:汉诺塔问题

递归的两个特点

  • 调用自身
  • 结束条件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# _*_coding:utf-8
'''
递归实例:汉诺塔问题
n----盘子总数
a----第一个柱子
b----第二个柱子
c----第三个柱子
n个盘子时:
    1、将n-1个盘子,从A经过C移动到B
    2、把n-1个盘子,从A移动到C
    3、把n-1个盘子,从B经过A移动到C
'''
#a,b,c  从a开始,经过b,移动到c
def hanoi(n,a,b,c):
    if n>0:
        hanoi(n-1,a,c,b)
        print("moving from %s to %s" %(a,c) )
        hanoi(n-1,b,a,c)
hanoi(3,"A","B","C")
 
'''
ps
moving from A to C
moving from A to B
moving from C to B
moving from A to C
moving from B to A
moving from B to C
moving from A to C
'''

  

posted @   橙子Cjw  阅读(192)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
点击右上角即可分享
微信分享提示