Python ile Fibonacci Sayılarını Bulma Örneği

Bu yazımızda, Python ile Fibonacci sayılarını bulan basit bir program kodlayacağız. İlk olarak Fibonacci dizisi olarak da bilinen bu yapıyı açıklayalım.

Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 …), matematikte oldukça ünlü bir sayı dizisidir. Bu dizi, her sayının kendisinden önce gelen iki sayının toplamı olarak oluşur. Başlangıçta genellikle ilk iki sayı olarak 0 ve 1 kabul edilir.

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
sayi = int(input("Kaç terimli Fibonacci dizisi oluşturmak istiyorsunuz? "))
for i in range(sayi):
    print(fibonacci(i), end=", ")

Bu kod, kullanıcıdan bir sayı alır ve o sayıya kadar olan Fibonacci dizisinin terimlerini ekrana yazdırır. Örneğin sayi değeri olarak 10 girerseniz, program size ilk 10 Fibonacci sayısını verecektir: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

Ancak, yukarıdaki yöntem rekürsif olduğu için büyük sayılarda çok yavaş çalışabilir. Eğer büyük sayılar için Fibonacci terimlerini hesaplamak isterseniz, daha verimli bir algoritma kullanmanız önerilir. Örneğin:

def fibonacci(n):
    if n <= 1:
        return n
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    return b
sayi = int(input("Kaç terimli Fibonacci dizisi oluşturmak istiyorsunuz? "))
for i in range(sayi):
    print(fibonacci(i), end=", ")

Yukarıdaki kod, Fibonacci dizisinin n‘inci terimini hesaplamak için kullanılır. İlk iki terimi (0 ve 1) başlangıç değerleri olarak belirleyerek, her yeni terimi bir önceki iki terimin toplamı olarak hesaplar. Bu süreci, istenen terime ulaşana kadar devam ettirir. Bu yaklaşım, her terimi sadece bir kez hesapladığı için önceki basit rekürsif yönteme göre daha verimlidir.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu