@BladeHeroku

Как оптимизировать и сократить код Фибоначчи?

Задача:

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

Код:
def fibonacci(num):
    num1 = 0
    num2 = 1
    next_num = 0
    sum_even = 0
    list_num = [num1, num2]
    while next_num < num:
        next_num = num1 + num2
        num1 = num2
        num2 = next_num
        list_num.append(next_num)

    if list_num[-1] > num:
        del list_num[-1]

    for item in list_num:
        if item % 2 == 0:
            sum_even += item

    return sum_even


print(fibonacci(89))
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы