且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Ruby Fibonacci算法

更新时间:2021-09-01 23:34:11

天真斐波那契进行了大量重复计算-在fib(14) fib(4)中进行了多次计算.

Naive fibonacci makes a lot of repeat calculations - in fib(14) fib(4) is calculated many times.

您可以将备忘录添加到算法中以使其更快:

You can add memoization to your algorithm to make it a lot faster:

def fib(n, memo = {})
  if n == 0 || n == 1
    return n
  end
  memo[n] ||= fib(n-1, memo) + fib(n-2, memo)
end
fib 14
# => 377
fib 24
# => 46368
fib 124
# => 36726740705505779255899443