递归 与 尾递归

以斐波那契数列展示递归和尾递归区别
#recursion

def f(n):
	if n<2:
		return n
	return f(n-1)+f(n-2)

print f(40)
普通递归,f(40)已经需要等待一段时间了。
def f(n,n1,n2):
	if n==0:
		return n1
	return f(n-1,n2,n1+n2)

print f(40,0,1)
尾递归, 秒出。

你可能感兴趣的:(递归 与 尾递归)