赞
踩
递归
从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?从前有座山,山里有座庙…
定义:递归函数是自身直接或者间接调用自身并且有终止条件的函数
特点:将大问题分解成n个小问题,用递归有2个重点,递归公式和递归结束条件
举例子:以5的阶乘两种方式
1.普通函数实现:
def fun(n):
mul = 1
for i in range(1,n+1):
mul *= i
return mul
print(fun(5))
2.递归函数
def factorial(n):
if n == 1 or n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(5))
用递归求阶乘
def fun(n):
if n==1:
return 1
else:
return n*fun(n-1)
n=int(input('请输入求阶乘的数字:'))
print(fun(n))
用递归求求n-m的累积和
def sum(n,m):
if m==n:
return n
else:
return m+sum(n,m-1)
n=int(input('请输入起始值:'))
m=int(input('请输入终止值:'))
print(sum(n,m))
用递归函数求斐波那契
def fun(n):
if n==1 or n==2:
return 1
elif n>=3:
return fun(n-1)+fun(n-2)
else:
print('输入错误!')
n=int(input('请输入斐波那契的个数:'))
for i in range(1,n+1):
print(fun(i),end='\t')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。