Problème 2 "Nombre pair de Fibonacci"
Les termes de la suite de Fibonacci sont la somme des deux termes précédents. Si les deux premiers termes sont 1, 2, alors les 10 premiers termes sont: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Trouvez la somme des termes pairs dont la valeur de colonne numérique est inférieure ou égale à 4 millions.
Python
fibs = [1, 2]
while True:
next_fib = sum(fibs[-2:])
if(next_fib <= 4000000):
fibs.append(next_fib)
else:
break
result = 0
for i in fibs:
if(i % 2 == 0):
result += i
print result
print result == 4613732
résultat
4613732
True
Il semble que la partie résultat puisse être écrite de manière concise en utilisant la notation d'inclusion de liste.
Python
result = sum([i for i in fibs if i % 2 == 0])
Recommended Posts