Python学习笔记 递归-斐波那契数列,汉诺塔
2015-04-04 07:22
302 查看
#设置python允许的最大递归次数(默认是100) import sys sys.setrecursionlimit(1000) #求阶乘 def factorial(n): if n == 1: return 1 else: return n * factorial(n - 1) print(factorial(4)) #斐波那契数列,递归实现 def Fab2(n): if n <= 2: return 1 else: return Fab2(n - 1) + Fab2(n - 2) print(Fab2(10)) #汉诺塔 #思路:要想完成汉诺塔,必须先把最大的一个盘子放到目标柱子,之后把剩下的移动到最大盘子之上 #通过上述思路形成递归 def hanoi(n, x, y, z): 'n为多少个盘子.三根柱子为x,y,z。目标盘子为z,起始盘子为x' if n == 1: print(x, ' --> ', z) else: #将前n - 1个盘子从A移动到B上 hanoi(n - 1, x, z, y) #将第n个(最大的)移动到C上 print(x, ' --> ', z) #将B上的n - 1个盘子移动到C上 hanoi(n - 1, y, x, z) hanoi(4, 'X', 'Y', 'Z')
相关文章推荐
- Think Python 学习笔记5:条件与递归
- 学习笔记---递归的代码,解决经典的汉诺塔问题
- 学习笔记------数据结构(C语言版)栈和递归 汉诺塔
- Python 函数之递归-斐波那契数列,汉诺塔(6)
- 学习笔记-小甲鱼Python3学习第二十二讲:函数:递归是神马
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- Python学习笔记之遍历目录文件(递归和walk())
- Python学习笔记之递归
- python数据结构学习笔记-2017-01-08-01-N皇后问题、迷宫问题和跳马问题的递归解决
- 学习笔记-小甲鱼Python3学习第二十三、二十四讲:函数:这帮小兔崽子、汉诺塔
- Python 学习笔记 - 递归和模块中的特殊变量
- 12. Python脚本学习笔记十二作用域与递归
- python算法和数据结构笔记--汉诺塔问题超详细递归过程图解(堆栈数据结构)
- python数据结构学习笔记-2016-11-12-02-递归的应用
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- STL学习笔记:用非递归的方法实现汉诺塔问题
- 零基础入门学习Python(24)--递归:汉诺塔
- python数据结构学习笔记-2016-11-11-01-递归
- python学习笔记-Day05-第一部分(再谈装饰器)(递归)
- Python学习笔记:递归