【发布时间】:2021-09-03 11:49:55
【问题描述】:
我了解斐波那契是如何工作的,但我需要解释一下为什么这段代码可以在其中使用 fib 而不是在没有 fib 的情况下使用
def fib(n)
return 1 if n <= 2
return fib(n-1) + fib(n-2)
end
上面的代码给出了fib(n-1) + fib(n-2)的正确答案
但是为什么下面的代码不起作用?
def fib(n)
return 1 if n <= 2
return (n-1) + (n-2)
end
【问题讨论】:
-
因为这是一个完全不同的数学公式。为什么会这样?
-
你能解释一下它有什么不同吗?通过将 fib 放入公式中,以及为什么它不低于
-
试试
fib(3)。如果你不能这样做,那么你就没有编程问题。你有一道数学题。 -
@kbob 您如何手动计算
fib(5),即使用笔和纸?