Problem 2 "Gerade Anzahl von Fibonacci"
Die Begriffe in der Fibonacci-Sequenz sind die Summe der beiden vorherigen Begriffe. Wenn die ersten beiden Begriffe 1, 2 sind, sind die ersten 10 Begriffe: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Ermitteln Sie die Summe der geradzahligen Begriffe mit einem Zahlenspaltenwert von 4 Millionen oder weniger.
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
Ergebnis
4613732
True
Es scheint, dass der Ergebnisteil mithilfe der Listeneinschlussnotation präzise geschrieben werden kann.
Python
result = sum([i for i in fibs if i % 2 == 0])
Recommended Posts