第 22讲: 递归是神马
序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量
1. 汉诺塔游戏
2. 树结构的定义:
3. 谢尔宾斯三角形
4. 女神自拍
5.
递归:
例子1:
def factorial(n):
result = n
for i in range(1, n):
result *= i
return result
number = int(input("please input inter:"))
result = factorial(number)
print("%d 的阶层是:%d" % (number,result))
例子2:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
number = int(input("please input inter:"))
result = factorial(number)
print("%d 的阶层是:%d" % (number,result))