人若有情死得早 发表于 2017-6-27 22:33:39

022函数:递归是神马

1.递归的概念:程序调用自身的编程技巧,简单的说就是运行的过程中调用自己。
2.构成递归需具备的条件:
1)子问题需与原问题为同样的事,且更为简单;
2)不能无限制的调用本身,须有个出口,化简为非递归状况处理;
3.利用递归实现数的阶乘
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))
请输入一个正整数:5
5 的阶乘是:120
4.递归是把双刃剑
特殊场合合理使用递归会使代码精简且高效,但是递归调用自身需要入栈出栈,对内存和CPU的消耗比较大。并不是所以的编程都可以用递归来解决问题,但是基本上所有的程序语言都有递归算法。
页: [1]
查看完整版本: 022函数:递归是神马