Kemungkinan Duplikat:
Python program untuk mencari deret fibonacci. Cara yang lebih Pythonic.
Hai, saya sedang mencoba menulis skrip yang menjumlahkan semua suku genap dalam "Urutan Fibonacci" di bawah 4 juta.
Fibonacci1 = 1
Fibonacci2 = 2
a = 2
i = 4
for i in range(1,4000000):
Fibonacci1 = Fibonacci1 + Fibonacci2
if Fibonacci1 % 2 == 0:
a = a + Fibonacci1
Fibonacci2 = Fibonacci1 + Fibonacci2
if Fibonacci2 % 2 == 0:
a = a + Fibonacci2
print a
raw_input()
seharusnya memakan waktu kurang dari satu menit, tetapi memakan waktu sepanjang malam dan tidak terselesaikan!
Sunting: Maaf teman-teman, saya salah memahami masalahnya. Saya pikir itu berarti saya harus menjumlahkan semua suku genap HINGGA 4 juta! Tapi solusinya adalah dengan menjumlahkan semua syarat genap SAMPAI 4 juta.
Kode kerja (selesai dalam waktu kurang dari satu detik):
Fibonacci1 = 1
Fibonacci2 = 2
a = 2
while a < 4000000:
Fibonacci1 = Fibonacci1 + Fibonacci2
if Fibonacci1 % 2 == 0:
a = a + Fibonacci1
Fibonacci2 = Fibonacci1 + Fibonacci2
if Fibonacci2 % 2 == 0:
a = a + Fibonacci2
print a
raw_input()