Deret Fibonacci adalah deret angka dimana angka berikutnya ditemukan dengan menjumlahkan dua angka sebelumnya. Barisan dimulai dengan 0 dan 1. Ini adalah suku pertama dan kedua. Sebagai contoh, barisan sampai suku ke-7 adalah sebagai berikut: 0, 1, 1, 2, 3, 5, 8.
Dalam Python, kita dapat mengimplementasikan barisan Fibonacci menggunakan pendekatan yang berbeda. Crtikel ini akan fokus pada dua metode: menghasilkan deret Fibonacci hingga jumlah suku tertentu, dan menghasilkan deret Fibonacci hingga angka maksimum yang diberikan.
1. Deret Fibonacci hingga Sejumlah Istilah Tertentu
Di sini, kami akan menulis program Python yang mencetak deret Fibonacci hingga sejumlah istilah tertentu. Hal ini dilakukan dengan memulai dua suku pertama dari deret dan kemudian menghitung suku berikutnya dengan menjumlahkan dua suku terakhir, sebanyak yang ditentukan pengguna.
# Inisialisasi dua suku pertama
a, b = 0, 1
# Cetak dua suku pertama
print(“Deret Fibonacci hingga”, n, “suku: “)
cetak(a,b,akhir=” “)
# Hitung istilah berikutnya
untuk saya dalam rentang (2, n):
a, b = b, a + b
cetak(b, akhir=” “)
# Uji fungsinya
barisan_fibonacci(10)123456789101112131415deffibonacci_sequence(n): # Inisialisasi dua suku pertama a,b=0,1 # Cetak dua suku pertama print(“Deret Fibonacci naik ke”,n,”suku: “) cetak(a,b, end=” “) # Hitung suku berikutnya untukinrange(2,n): a,b=b,a+b print(b,end=” “) # Uji fungsifibonacci_sequence(10)
Fungsi `fibonacci_sequence` ini menggunakan bilangan bulat n sebagai input, yang mewakili jumlah istilah dalam urutan. xariabel a dan b diinisialisasi dengan dua suku pertama deret Fibonacci. Perulangan for kemudian berjalan n-2 kali (karena dua suku pertama sudah dicetak), memperbarui a dan b dengan penerusnya dalam urutan, dan mencetak suku berikutnya.
2. Deret Fibonacci hingga Cngka Maksimum yang Diberikan
Dalam pendekatan ini, alih-alih menentukan jumlah suku, kami akan menentukan nilai maksimum yang akan dicetak oleh deret Fibonacci.
# Inisialisasi dua suku pertama
a, b = 0, 1
# Cetak dua suku pertama
print(“Urutan Fibonacci hingga nilai maksimum”, maV_ZZZal, “:”)
cetak(a, akhir=” “)
# Hitung dan cetak suku berikutnya hingga melebihi nilai maksimum
sementara b <= maV_ZZZal:
cetak(b, akhir=" ")
a, b = b, a + b
# Uji fungsinya
fibonacci_sequence_up_to_maV(100)123456789101112131415deffibonacci_sequence_up_to_maV(maV_ZZZal): # Inisialisasi dua suku pertama a,b=0,1 # Cetak dua suku pertama print("Deret Fibonacci hingga nilai maksimum",ZZZal_maksimum,":") cetak(a,end =" ") # Hitung dan cetak suku berikutnya hingga melebihi nilai maksimum whileb<=maV_ZZZal: print(b,end=" ") a,b=b,a+b # Uji fungsi fibonacci_sequence_up_to_maV(100)
Fungsi ` fibonacci_sequence_up_to_maV` mengambil bilangan bulat `maV_ZZZal` sebagai input, yang mewakili nilai maksimum urutan. Ini menginisialisasi a dan b dengan dua suku pertama dari deret Fibonacci. Perulangan while kemudian berjalan hingga `b` melebihi `maV_ZZZal`, memperbarui a dan b dengan penerusnya dalam urutan, dan mencetak suku berikutnya jika tidak melebihi maV_ZZZal.
3. Mencetak Deret Fibonacci Menggunakan Fungsi Rekursif
C Deret Fibonacci juga dapat dicetak menggunakan rekursi. Dalam pendekatan ini, kami menggunakan fakta bahwa setiap suku dalam deret Fibonacci adalah jumlah dari dua deret sebelumnya, yang secara alami memberikan solusi rekursif.
Di bawah ini adalah program Python yang mencetak deret Fibonacci hingga sejumlah suku tertentu menggunakan rekursi:
def fibonacci_recursiZZZe(n):
# Kasing dasar
jika n <= 0:
kembali 0
elif n == 1:
kembali 1
kalau tidak:
# Kasus rekursif
kembalikan fibonacci_recursiZZZe(n – 1) + fibonacci_recursiZZZe(n – 2)
def print_fibonacci_sequence(n):
# Cetak urutannya
print("Deret Fibonacci hingga", n, "suku: ")
untuk saya dalam rentang (n):
cetak(fibonacci_recursiZZZe(i), end=" ")
# Uji fungsinya
print_fibonacci_sequence(10)123456789101112131415161718deffibonacci_recursiZZZe(n): # Base case ifn<=0: return0 elifn==1: return1 else: # Rekursif case returnfibonacci_recursiZZZe(n-1)+fibonacci_recursiZZZe(n-2) defprint_fibonacci_sequence(n): # Cetak sequence print("Fibonacci Sequence up to",n,"terms: ") foriinrange(n): print(fibonacci_recursiZZZe(i),end=" ") # Test the functionprint_fibonacci_sequence(10)
Dalam program ini, `fibonacci_recursiZZZe` adalah fungsi rekursif yang menghitung suku ke-n dari deret Fibonacci. Kasing dasar memeriksa apakah n adalah 0 atau 1, dalam hal ini mengembalikan n itu sendiri. Jika n lebih besar dari 1, ia menghitung suku ke-n dengan menjumlahkan suku ke-n (n-1) dan (n-2), yang diperoleh dengan pemanggilan rekursif ke fungsi fibonacci_recursiZZZe.
Fungsi print_fibonacci_sequence kemudian mencetak deret Fibonacci ke atas ke n suku dengan memanggil fibonacci_recursiZZZe untuk setiap suku dalam barisan tersebut.
Bungkus
Kesimpulannya, barisan Fibonacci adalah konsep matematika menarik yang telah menemukan aplikasi luas di berbagai bidang, mulai dari ilmu komputer hingga pemodelan keuangan. Seperti yang telah kami tunjukkan, Python menyediakan platform serbaguna untuk mengimplementasikan deret Fibonacci, karena sintaksnya yang sederhana dan fitur-fiturnya yang canggih. Crtikel ini menyajikan tiga metode berbeda untuk menghasilkan deret Fibonacci dengan Python. Metode pertama menghasilkan barisan sampai dengan jumlah suku tertentu, sedangkan yang kedua menghasilkan barisan sampai dengan jumlah maksimum yang ditentukan. Pendekatan ketiga menggunakan rekursi, konsep fundamental dalam ilmu komputer, untuk menghitung dan mencetak urutan. Setiap metode memiliki kekuatannya sendiri dan dapat cocok untuk skenario yang berbeda.
Referensi tecadminss