Возможный дубликат:
Python программа для поиска ряда Фибоначчи. Более Pythonic.
Эй, я пытался написать сценарий, который суммирует все четные члены в «последовательности Фибоначчи» менее 4 миллионов.
Fibonacci1 = 1
Fibonacci2 = 2
a = 2
i = 4
for i in range(1,4000000):
Fibonacci1 = Fibonacci1 + Fibonacci2
if Fibonacci1 % 2 == 0:
a = a + Fibonacci1
Fibonacci2 = Fibonacci1 + Fibonacci2
if Fibonacci2 % 2 == 0:
a = a + Fibonacci2
print a
raw_input()
это должно занять меньше минуты, но это заняло всю ночь и не было решено!
Редактировать: Извините, ребята, я неправильно понял проблему. Я хотя это означает, что я должен суммировать все четные условия ДО 4 миллионов! Но решение состояло в том, чтобы суммировать все четные члены ДО 4 миллионов.
Рабочий код (завершено менее чем за одну секунду):
Fibonacci1 = 1
Fibonacci2 = 2
a = 2
while a < 4000000:
Fibonacci1 = Fibonacci1 + Fibonacci2
if Fibonacci1 % 2 == 0:
a = a + Fibonacci1
Fibonacci2 = Fibonacci1 + Fibonacci2
if Fibonacci2 % 2 == 0:
a = a + Fibonacci2
print a
raw_input()