#2 even fibonacci numbers

October 2020

"""
Even Fibonacci numbers

Each new term in the Fibonacci sequence is generated by 
adding the previous two terms. By starting with 1 and 2, 
the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 
55, 89, ...

By considering the terms in the Fibonacci sequence whose 
values do not exceed four million, find the sum of the 
even-valued terms.

https://projecteuler.net/problem=2
"""

# test
# seq = list()
# for n in list(range(10)):
#     if n == 0:
#         seq.append(1)
#     if n == 1:
#         seq.append(2)
#     if n > 1:
#         seq.append(seq[n - 2] + seq[n - 1])

# assert(seq == list([1, 2, 3, 5, 8, 13, 21, 34, 55, 89]))

# solution
seq = list()
result = list()
max_value = 4000000
n = 0
while True:
    if n == 0:
        seq.append(1)
    if n == 1:
        seq.append(2)
    if n > 1:
        seq.append(seq[n - 2] + seq[n - 1])

    # break condition
    if seq[n] > max_value:
        seq.pop(n)
        break

    # even
    if seq[n] % 2 == 0:
        result.append(seq[n])

    n += 1

print(sum(result))
# 4613732