Проект Эйлера - Задача 2


Четные числа Фибоначчи

Каждый следующий элемент ряда Фибоначчи получается при сложении двух предыдущих. Начиная с 1 и 2, первые 11 элементов будут:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

Найдите сумму всех четных элементов ряда Фибоначчи, которые не превышают четыре миллиона.

Моё решение (Python) под катом:

В начале было интересно просто повторить ряд Фибоначчи из примера:

a = 1 b = 0 c = 0 i = 0 while i <= 10: c = a + b print(c) i += 1 a = b b = c
  1. Задаём переменные a, b, c и i с которыми и будем работать.
  2. Запускаем луп 10 раз и получаем ряд Фибоначчи из примера.
Круто!! Работает. Теперь можно переходить к решению задачи.
Значит надо добавить условие по которому мы будем выбирать только чётные элементы и складывать их. Главное чтобы сам элемент не превышал 4М.

a = 1 b = 0 c = 0 sum = 0 while c <= 4000000: c = a + b if c % 2 == 0: sum += c a = b b = c print(sum)

  1. Переменную i меняем на sum. В ней и будем всё суммировать.
  2. А в переменной с мы будем хранить последний элемент ряда. Таким образом мы будет отслеживать только сами элементы ряда а не все числа до 4М.
Питон выдал ответ 4613732.

Я так решил.

Комментариев нет:

Отправка комментария