【发布时间】:2014-11-14 01:01:32
【问题描述】:
有没有一种非递归的方式可以通过添加最后 3 个数字来制作“类似斐波那契”的序列?
这是我尝试的递归方式。
def fib3(n):
if n < 3:
return 1
else:
return fib3(n-1) + fib3(n-2) + fib3(n-3)
返回1+1+1+3+5+9+17...+(n-1) + (n-2) + (n-3)
任何帮助将不胜感激。
提前致谢
【问题讨论】:
-
我认为你应该记住你的结果,否则仅仅计算
fib3(100)可能会因为大量重复分支而搞砸你 -
您是要求迭代(而不是递归)解决方案还是非递归公式?如果后者(确实存在常规斐波那契数),主题为 @ math.stackexchange.com 。