#!/usr/bin/python2
"""
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.
"""
odd, even = 0,1
total = 0
while True:
odd = odd + even #Odd
even = odd + even #Even
if even < 4000000:
total += even
else:
break
print total
Мой алгоритм:
- Если я возьму первые 2 числа за 0, 1; число, которое я найду первым в цикле while, будет нечетным числом и первым из ряда Фибоначчи.
- Таким образом, я вычисляю четное число и каждый раз добавляю значение четного к итоговому.
- Если значение
even
больше 4e6, я вырываюсь из бесконечного цикла.
Я так старался, но мой ответ всегда неверен. Гугл говорит, что ответ должен быть 4613732
, но я всегда получаю 5702886
Спасибо за поддержку.