Arkadaşlar bu yazıda Fibonacci serisi ne olduğuna değineceğiz.
Fibonacci Nedir?
Fibonacci serisi dediğimiz şey aslında bir dizidir.Bu serinin özelliği şu; dizinin elemanları, ondan önceki iki elemanın toplamıdır.Yani;
0 1 1 2 3 5 8 ...(Bu şekilde sonsuza gider)
Yukarıdaki fibonacci serisi şu şekilde oluşturuldu;
0 1 (0+1) (1+1) (1+2) (2+3) (3+5) 8
Mesela, 2 sayısına bakalım; kendisinden önceki iki sayı; 1 ve 1, 1+1=2, yani kendisini verdi.Başka bir örnek olarak 5'e bakalım; kendisinden önceki iki sayı 2 ve 3, 2+3=5 yine kendisini verdi.Seri bu şekilde sonsuza kadar gider.
Ne işe yarar diye sorucak olursanız, fibonacci serisi şifreleme işlemleri için kullanılır.
Şimdi isterseniz fibonacci oluşturmadan bahsedelim;
Yukarıda da gördüğünüz gibi fibonacci serisinin başı 0 ve 1.Bizim yapmamız gereken bir döngü ile sürekli bir sonraki fibonacci sayısını bulmak.
Eğer birinci sayıya "a", ikinci sayıya "b" dersek, üçünü sayı "c = a + b;" olmalıdır.a = 0, b = 1, c = a + b, dersek; 3 adet fibonacci sayısını bulmuş oluruz.
Yani serimiz, 0(a) 1(b) 1(c) şeklinde olacaktır.
Şimdi yapacağımız işlem ise, değişkenleri sürekli kaydırarak bir sonraki fibonacci sayısını bulmaktır.Bunu da şu şekilde yapacağız;
a = b; //b'nin değerini a'ya attık
b = c; //c'nin değerini b'ye attık
c = a +b; //a ve b'nin toplamını c'ye attık
Şimdide istediğimiz kadar fibonacci sayısısı yazdıran bir program yazalım;
Yukarıdaki kodları açıklayalım; ilk olarak kullanıcıdan kaç adet fibonacci sayısı görüntülenmesini istediğini sorup, girilen değeri adet değişkenine attık.Daha sonra "a = 0" ve "b = 1" olarak fibonacci serimizin ilk 2 elemanını tanımladık."Console.Write(a +" "+ b + " ");" diyerek tanımladığımız ilk iki elemanımızı ekrana yazdırdık.Daha sonra for döngümüzün içinde her defasında kaydırma işlemimizi yaparak sayımızı ekrana yazdırdık.For döngümüzün sayacının 3'ten başlamasının sebebi ise ilk 2 elemanımızı zaten yazdırmış olmamızdır.
Programda birkaç deneme yapınız.Göreceksiniz ki 48 ve üstü bir sayı girdiğinizde sayılar negatif(-) sayı olmaya başlayacaktır.Bu Int tipi değişkenin kapasitesi ile ilgili bir durumdur.Eğer a,b ve c değişkenlerimizi tanımlarken türünü int değilde long olarak belirtirseniz sorun çözülecektir.Ama unutmayınki long değişkeninde bir sınırı vardır.
Fibonacci serisini formül ile anlatmak gerekirse;

Fibonacci hakkında anlatacaklarım bu kadar.Umarım yardımcı olabilmişimdir.İyi Günler..
Umut Coşkun