为了账号安全,请及时绑定邮箱和手机立即绑定

递归计数问题

如果在汉罗塔记录一共转移多少次应该在哪里写sum变量,还有求大神老师讲一下递归遍历实际上是参照什么顺序,

正在回答

1 回答

i = 0//计数用全局变量
def mov(n, a, b, c):
    global i//全局变量声明
        if n == 1:
            i = i + 1        
            print 'step', i, ':', 'move disk', n, 'from', a, 'to', c        
            return    
        mov(n-1, a, c, b)    
        i = i + 1    
        print 'step', i, ':', 'move disk', n, 'from', a, 'to', c    
        mov(n-1, b, a, c)
            
def move(n):
    mov(n, 'A', 'B', 'C')

move(3)

递归的过程是不断追溯到n==1的时候,然后从n==1 开始执行直到n,中间的逻辑是由机器来完成的。非大神,共同学习!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

递归计数问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信