python递归函数小题 python 递归函数例子

python用递归的方法求1+2+3+...+n

#m=n = 10

创新互联是一家集网站建设,句容企业网站建设,句容品牌网站建设,网站定制,句容网站建设报价,网络营销,网络优化,句容网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

m=n=int(input("Please enter n :"))

def recursion(n,v):

v = v+n

n = n-1;

if n==0:

#''' 当n=0时,停止

print("1+2+3+...+%d = "%m,v)

return v

v = recursion(n,v) # 递归调用,函数内自己调用自己

recursion(n,v=0)# 函数调用

Python算法-爬楼梯与递归函数

可以看出来的是,该题可以用斐波那契数列解决。

楼梯一共有n层,每次只能走1层或者2层,而要走到最终的n层。不是从n-1或者就是n-2来的。

F(1) = 1

F(2) = 2

F(n) = F(n-1) + F(n-2) (n=3)

这是递归写法,但是会导致栈溢出。在计算机中,函数的调用是通过栈进行实现的,如果递归调用的次数过多,就会导致栈溢出。

针对这种情况就要使用方法二,改成非递归函数。

将递归进行改写,实现循环就不会导致栈溢出

python递归函数

def Sum(m): #函数返回两个值:递归次数,所求的值 if m==1:return 1,m return 1+Sum(m-1)[0],m+Sum(m-1)[1]cishu=Sum(10)[0] print cishu def Sum(m,n=1): ... if m==1:return n,m ... return n,m+Sum(m-1,n+1)[1] print Sum(10)[0] 10 print Sum(5)[0] 5


文章标题:python递归函数小题 python 递归函数例子
转载注明:http://azwzsj.com/article/doddeds.html