By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms
Fibonacci sequence
피보나치 수는 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다. n = 0, 1,...에 해당하는 피보나치 수는 (OEIS의 수열 A000045)
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
이다.
# Project Euler problem #2
# By considering the terms in the Fibonacci sequence
# whose values do not exceed four million,
# find the sum of the even-valued terms
#
# Author Saerohoon Yang(yang.sae@gmail.com)
class FibonacciSequence
def sumFibonacciSeq
# 피보나치 수열은 0, 1로 시작
i = 0
j = 1
# 계산된 피보나치 수열은 이 변수에 담음
fibonacci = 0
# 피보나치 수의 총합이 담길 변수
sum_o_fibonaccis = 0
# Four million을 넘지 않으니까 4000000까지 루핑
while i+j<=4000000
fibonacci = i+j
# 계산된 피보나치의 수가 짝수인지 확인하고
if fibonacci%2==0
# 짝수면 더함
sum_o_fibonaccis += fibonacci;
end
# 수열은 앞으로 진행되고
i = j
j = fibonacci
end
# 그냥 확인을 위해서 총합 인쇄
puts "Sum of even Fibonacci numbers is #{sum_o_fibonaccis}"
end
end
FibonacciSequence.new.sumFibonacciSeq
댓글 없음:
댓글 쓰기