C#

C# Fibonacci Sayılarını Bulma

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üyor, 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 int Fibonacci(int sayi)
{
if(sayi < 0)
return 0;
if(sayi == 0 || sayi == 1)
return sayi;
return Fibonacci(sayi-1) + Fibonacci(sayi-2);
}
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));
}

Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu