首页 > 编程语言 > 详细

python--14 递归

时间:2017-09-07 20:55:41      阅读:327      评论:0      收藏:0      [点我收藏+]

递归是神马

 

  >>> def recursion():
  ... recursion()
  ...
  >>> recursion()
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in recursion
  File "<stdin>", line 2, in recursion
  File "<stdin>", line 2, in recursion
  [Previous line repeated 995 more times]
  RecursionError: maximum recursion depth exceeded

  >>> import sys
  >>> sys.setrecursionlimit(1000000)

 

递归球阶乘

 写一个求阶乘的函数

  正整数阶乘从1乘以2乘以3乘以4一直乘到所要求的数。

  例如所给的数是5,则阶乘式是1*2*3*4*5,得到的积是120,所以120就是5的阶乘。

 非递归版本的实现

  >>> def factorial(n):
  ... result = n
  ... for i in range(1,n):
  ... result *= i
  ... return result
  ...

  >>> print(‘%d 的阶乘是: %d‘ % (5,factorial(5)))
  5 的阶乘是: 120

 递归实现

  >>> def recursion(x):
  ... if x == 1:
  ... return x
  ... else:
  ... return x * recursion(x-1)
  ...
  >>> recursion(5)
  120
  >>> recursion(6)
  720

递归效率低,方法调用

递归使用不当,死循环

斐波那契(Fibonacci)  Leonardo Fibonacci

 

python--14 递归

原文:http://www.cnblogs.com/fengjunjie-w/p/7491736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!