[Заранее извините, я новичок в программировании.]
Это проблема №2 проекта Эйлера. Цель состоит в том, чтобы вычислить сумму всех четных чисел Фибоначчи, не превышающих 4 миллиона. Для тех, кто не знаком с числами Фибоначчи, число Фибоначчи - это просто число, которое является суммой двух предыдущих чисел в последовательности. Например, первые несколько чисел Фибоначчи: 1,2,3,5,8,13,21,34 ...
Мой код ниже начинается с некоторых переменных, затем my while l oop, и, наконец, мой for l oop.
n = 0
n2 = 1
fibsum = 0
fibrange = range(1,4000001)
while (n2 <= 4000000):
n2 = n2 + n
n = n2 - n
if n2 % 2 == 0:
fibsum += n2
print (fibsum)
# for n2 in fibrange:
# n2 = n2 + n
# n = n2 - n
# if n2 % 2 == 0:
# fibsum += n2
# print(fibsum)
Как я уже сказал, мой while l oop работает как шарм, но когда я запускаю for l oop, вывод fibsum равен 0. Значит, значение вообще не меняется.
Я пробовал range (1, 4000001)
вместо fibrange
. Я действительно не знаю, что еще попробовать. Это как моя 4-я или 5-я программа.