Задать вопрос
  • Проект Эйлера. Задача №2. Как решить правильно?

    @Abigale_Vult
    Пошаговый код с подробным объяснением.
    Разумеется, сам ряд Фибоначчи можно убрать из кода, а также вывод самих рядов.
    a = 1                   # задаем первые значения чисел Фибоначчи
    b = 2
    fibo = [1,2]            # создаем массив чисел Фибоначчи
    fibo2 = []              # создаем массив четных чисел фибоначчи
    
    while b < 4*10**6:
        if a % 2 == 0:      # заполняем массив четных чисел фибоначчи
            fibo2.append(a)
        if b % 2 == 0:
            fibo2.append(b)
    
        a = a + b           # "третий" член ряда
        b = a + b           # "четвертый" член
        if a > 4*10**6:     # прерываем цикл, если значение а превысило 4 млн
            break
    
        fibo.append(a)      # переносим третий член в массив чисел фибоначчи
        fibo.append(b)      # аналогично четвертый член
    
    print(fibo)             # вывод чисел фибоначчи до 4 млн
    print(fibo2)            # вывод четных чисел фибоначчи до 4 млн
    print(sum(fibo2))       # искомая сумма

    На выходе получится:
    [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578]
    [2, 8, 34, 144, 610, 2584, 10946, 46368, 196418, 832040, 3524578]
    4613732
    Ответ написан
    Комментировать