C# Fibonacci Sayılarını Bulma

C# Fibonacci Sayılarını Bulma

C# Fibonacci Sayılarını Bulma

  3 dakika Okuma Süresi
Merhabalar, C# derslerimizde bugün Fibonacci Sayılarını bulmayı anlatacağım.
Fibonacci sayıları şifreleme konusunda yoğun olarak kullanılmakla beraber bir sayının kendinden önceki iki sayının toplamı şeklinde giden sayı dizisine denir.
Internette bu konu hakkında yoğun bir kaynak olsa da çoğunluğu sayılar üzerinden gitmiş ama biz recursive fonksiyonlar üzerinden gideceğiz, yani kendini çağıran fonksiyonlar.
Hadi anlatıma geçelim.

Öncelikle Fibonacci sayılarını bulup söyleyen fonksiyonu yazalım.
static int Fibonacci(int sayi)
{
    if(sayi < 0)
        return 0;
    if(sayi == 0 || sayi == 1)
        return sayi;
    return Fibonacci(sayi-1) + Fibonacci(sayi-2);
}
Şimdi bu kodu şöyle kısaca bi açıklayalım.
Fibonacci adındaki fonksiyonumuz dışarıdan bi tane integer tipte parametre istiyor ve bu parametre sıfırdan küçük ise sıfır, sıfır yada bir ise gelen değeri döndürüyor. Bunlardan hariç bir değer gelirse de o sayıdan bir ve iki önceki sayıya göre toplama işlemi yapıp sonucu geri döndürüyo, yani tam olarak istediğimiz şeyi :)
Şimdi de kaç tane Fibonacci sayısı bulacağımızı kullanıcıdan isteyelim ve bu fonksiyonu Main içinde çağırıp sayıları ekrana yazdıralım.
Console.Write("Kaç Tane Fibonacci Sayısı Istersiniz: ");
int adet = Convert.ToInt32(Console.ReadLine());
for(int i = 0; i < adet; i++)
    Console.WriteLine("{0}. Fibonacci Sayısı: {1}", i, Fibonacci(i));
kod satırı ile bunu da hallettik.
Yani kısaca kullanıcıya kaç tane Fibonacci sayısı oluşturmak istediğini sorduk ve istediği kadar sayı oluşturup ekrana yazdırdık.

Bu dersimizde bu kadardı, son olarak yazdığımız bütün kodları aşağı bırakıyorum.
static void Main()
{
    Console.Write("Kaç Tane Fibonacci Sayısı Istersiniz: ");
int adet =     Convert.ToInt32(Console.ReadLine());
    for(int i = 0; i < adet; i++)
        Console.WriteLine("{0}. Fibonacci Sayısı: {1}", i, Fibonacci(i));
}
static int Fibonacci(int sayi)
{
    if(sayi < 0)
        return 0;
    if(sayi == 0 || sayi == 1)
        return sayi;
    return Fibonacci(sayi-1) + Fibonacci(sayi-2);
}
Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.


  • İçeriği Paylaş:

İÇERİĞİ DEĞERLENDİR

Toplam Değerlendirme Sayısı: 0
Toplam Değerlendirme: 0 / 5

Cevap Yaz