피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
In [16]:
x1 = 1
x2 = 2
target = 0
fibonacci = [2]
while target < 4_000_000 do
target = x1 + x2
x1 = x2
x2 = target
fibonacci.push target if (target % 2) == 0
end
In [17]:
fibonacci
Out[17]:
In [18]:
fibonacci.inject(0) { |sum, item| sum += item}
Out[18]:
In [ ]: