Найти тему
Skesov

Проект Эйлера. Задача №2. Четные числа Фибоначчи. (на Python).

Добрый день. Вторая задача из проекта Эйлера. Условие выглядит так:

Каждый следующий элемент ряда Фибоначчи получается при сложении двух предыдущих. Начиная с 1 и 2, первые 10 элементов будут:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Найдите сумму всех четных элементов ряда Фибоначчи, которые не превышают четыре миллиона.

Задача не сильно сложнее первой, но это только начало нашего цикла, поэтому все самое интересное будет впереди.

1. Создаём новую переменную, в которую будем складывать нашу сумму. И список, в который мы будем складывать числа Фибоначчи, с начальными значениями:

answer = 0
fibon = [0, 1]

2. Далее, нам нужен цикл, который будет перебирать числа и добавлять новые в список, для этого я предлагаю использовать while, а в качестве условия прописываем, чтобы последнее число было не больше четырех миллионов.

while fibon[-1] <= 4000000:

3. Далее создаем проверку на четность внутри цикла, которая будет прибавлять число к нашему ответу. Одна строчка if полностью закрывает наш вопрос:

if fibon[-1] % 2 == 0:
answer += fibon[-1]

Мы проверяем если после число из списка fibon делится на два без остатка, значит его необходимо просуммировать к ответу.

4. Далее, нам нужно добавить к списку следующее число, для этого пишем следующую строчку в нашем цикле и закрываем его:

fibon.append(fibon[-1] + fibon[-2])

5. Остаётся только вывести нашу сумму на экран, используем print:

print(answer)

Вот и всё решение, весь код целиком доступен ниже:

answer = 0
fibon = [0, 1]
while fibon[-1] <= 4000000:
if fibon[-1] % 2 == 0:
answer += fibon[-1]
fibon.append(fibon[-1] + fibon[-2])
print(answer)

Ответом у меня получилось 4613732.

Надеюсь данная статья вам оказалась полезной, подписывайтесь на канал. Пишите в комментариях какие ещё задачки вы хотели бы увидеть. Спасибо за внимание.

для превью
для превью