【发布时间】:2020-03-27 12:48:31
【问题描述】:
这是使用递归的斐波那契数列的原始代码
def rec(n):
if n<=1:
return n
else:
return ( rec(n-1) + rec(n-2))
n=int(input())
上面的代码在第 50 个学期左右变得非常慢。
下面我返回的代码基本上也是递归的。
n=int(input())
n1,n2,count=0,1,0
def rec(n,n1,n2,count):
if count<n:
print(n1)
nth=n1 + n2
n1=n2
n2=nth
count+=1
rec(n,n1,n2,count)
rec(n,n1,n2,count)
我的问题是这两种方法都遵循递归(就像真正的递归)?
【问题讨论】:
-
什么是真正的递归?
-
喜欢第一个。
-
两者都称为递归函数。没有什么能比得上 Real Recursion。第一个函数有两个递归调用,第二个函数有一个递归调用。你对Real Recursion的定义到底是什么?我从来没有听说过这样的 TBH
标签: python recursion fibonacci