Fibonacci dizisi
- Algoritmalar kursu
- Başlangıç
- Ders 41/80
- 4 dk
Her sayının önceki iki sayının toplamı olduğu Fibonacci dizisini öğrenirsin.
Fibonacci dizisi
Fibonacci dizisi, her sayının önceki iki sayının toplamı olduğu bir dizidir: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
İlk iki sayı 0 ve 1'dir. Sonraki her sayı F(n) = F(n-1) + F(n-2) formülüyle hesaplanır.
Recursive tanım
Fibonacci'nin recursive tanımı: F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2). Bu doğrudan koda çevrilebilir.
Ancak bu naive recursive çözüm çok yavaştır çünkü aynı alt problem defalarca hesaplanır.
Uygulama Recursive Fibonacci
fib(n) yaz. n < 2 ise n döndür, değilse fib(n-1) + fib(n-2). print(fib(6)) ile 8 yazdır.
Başlangıç kodu
def fib(n):
# Fibonacci hesaplaÖrnek çözüm
def fib(n):
# Fibonacci hesapla
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
print(fib(6))Beklenen çıktı
8
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Fibonacci'de her sayı nasıl bulunur?
- Çarpım
- Önceki sayının karesi
- Rastgele
- Önceki ikisinin toplamı Doğru cevap
Açıklama: Önceki iki sayının toplamıdır.
2 İlk değer
F(0) = ____
F(0) = 0
Açıklama: 0 doğru.
3 Fibonacci dizisi: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
F(0) |
0 |
F(1) |
1 |
F(n) |
F(n-1)+F(n-2) |
F(2) |
0+1 |