我正在尝试使用 Project Euler 系列问题来提高我的 Ruby 技能,我想知道为什么这段代码不适用于这个问题:“即使是斐波那契数,问题 2”
斐波那契数列中的每个新项都是通过添加前两项来生成的。从 1 和 2 开始,前 10 个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过四百万的项,求偶数项之和。
我的代码:
def fibo(n)
first, second, sequence = 0,1,[]
for e in n
first, second = second, first + second
sequence << e if e%2 == 0
end
sequence.inject(:+)
end
puts fibo(4000000)
任何帮助,将不胜感激!