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]