码迷,mamicode.com
首页 > 编程语言 > 详细

Python 递归与汉诺塔

时间:2018-07-04 11:33:38      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:bsp   res   pac   noi   ace   turn   type   ima   ret   

递归

  1. 调用函数自身的行为

  2. 有一个正确的返回条件


def factorial(n):

if n == 1:

   return 1

else:

   return n * factorial(n-1)

number = int(input('请输入一个正整数:'))

result = factorial(number)

print('%d 的阶乘为:%d' % (number,result))


def hanoi(n, x, y, z):

    if n == 1:

        print(x, ' --> ', z)

    else:

        hanoi(n-1, x, z, y)     #将前n-1个盘子从x移动到y上

        print(x, ' --> ', z)     #将最底下的最后一个盘子从x移动到z上

        hanoi(n-1, y, x, z)     #将y上的n-1个盘子移动到z上

       

n = int(input('请输入汉诺的层数:'))

hanoi(n, 'a', 'b', 'c') #调用






Python 递归与汉诺塔

标签:bsp   res   pac   noi   ace   turn   type   ima   ret   

原文地址:http://blog.51cto.com/12686555/2135864

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!