递归函数

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

递归函数特性:

1、必须有一个明确的结束条件;

2、每次进入更深一层递归时,问题规模相比上次递归都应有所减少

3、相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。

4、递归效率不高,递归层次过多会导致栈溢出


题目:利用递归方法求5!。

程序分析:递归公式:fn=n*fn-1(5!=5*4!)

程序源代码:

源码实例

#!/usr/bin/python

# -*- coding: UTF-8 -*-

def fact(j):

   sum = 0

   if j == 0:

       sum = 1

   else:

       sum = j * fact(j - 1)

   return sum

print fact(5)

输出结果:120