C Dili Fibonacci Sayıları

Bu konuyu okuyanlar

erkankarabulut

Öğrenci
Katılım
18 Mart 2016
Mesajlar
30
Reaksiyon puanı
7
Puanları
8
Yaş
27
C Dili Fibonacci Sayılarını Yazan Program


C dili dersleri serisinin bu dersinde, c dilinde fibonacci serisini ekrana yazdıran programın yapımını anlatacağız. Öncelikle fibonacci serisini tanıyalım.

Fibonacci serisi 0 ve 1 ile başlayıp daha sonraki her terimi kendisinden önceki gelen 2 terimin toplamına eşit olan seridir. Örnek olarak fibonacci serisinin ilk 10 sayısını yazalım:

0 1 1 2 3 5 8 13 21 34......

şeklinde fibonacci serisi devam eder. Şimdi aklınızda otomatik olarak oluşan birkaç soruyu cevaplayalım. Fibonacci serisi ne işe yarar? Peki fibonacci serisi nerelerde var? Bu soruların cevabı için buraya tıklayın.

Gelelim c dilinde fibonacci sayılarını nasıl bulacağımıza. Bunun için birçok yok kullanılabilir. Sizler için fonksiyon kullanarak ve fonksiyon kullanmadan fibonacci sayılarını ekrana yazdıran programı yapacağız.

Örnek: Fonksiyonlar ile fibonacci serisinin istenilen elemanını bulan program.

Kaynak Kod:

#include <stdio.h>

int fonksiyon(int x)
{
int sonuc=0;
if(x==1)
{
return 0;
}
if(x==2)
{
return 1;
}
if(x>2)
{
sonuc=fonksiyon(x-1)+fonksiyon(x-2);
}

}

int main()
{
int sayi;
printf("Bir sayi giriniz :");
scanf("%d",&sayi);
printf("Fibonacci serisinin %d. elemani %d",sayi,fonksiyon(sayi));
return 0;
}

Kod Analiz:

- Ana fonksiyon içerisinde kullanıcıdan fibonacci serisinin kaçıncı elemanını öğrenmek istiyorsa onu alıp sayı değişkenine kaydettik.
- Sayı değişkenini fonksiyon adlı fonksiyonumuza yolladık.
- Fibonacci serisinin ilk 2 elemanı 0 ve 1 olduğu için sayı 1 ise return 0 sayı 2 ise return 1 dedik.
- Sayının 2 den büyük olduğu durumlarda ise gelen sayının 1 eksiğini ve iki eksiğini fonksiyona tekrar yolladık. Bu kısmın daha açıklayıcı olması için 5 sayısı üzerinde programımızın analizini yapalım.

1) 5>2 bu yüzden sonuc=fonksiyon(4)+fonksiyon(3) oldu.
2) 4>2 ve 3>2 yeni sonucumuz fonksiyon(3)+fonksiyon(2)+fonksiyon(2)+fonksiyon(1) oldu.
3) Fonksiyon(3) terimini de açalım. Sonuc=fonksiyon(2)+fonksiyon(1)+fonksiyon(2)+fonksiyon(2)+ fonksiyon(1).
4) 0 1 1 2 3 Gördüğünüz gibi fibonacci serisinin 5. elemanı 3. Yukarıdaki eşitlikte fonksiyon(2) ler 1 fonksiyon(1) ler 0 olarak return edildiğinden sonucumuz 3 olacaktır.

- Son adımda ise sonucumuzu ekrana yazdırıp c dilinde fibonacci sayılarını bulan programımızı tamamladık.

Ekran Görüntüsü:

Ekran%2BG%25C3%25B6r%25C3%25BCnt%25C3%25BCs%25C3%25BC%2B%2528208%2529.png


Örnek 2:
C dilinde fonksiyon kullanılmadan fibonacci sayılarını ekrana yazan program.

Kaynak Kod:

#include <stdio.h>

int main()
{
int sayi,sonuc,i,dizi[100];
printf("Bir sayi giriniz :");
scanf("%d",&sayi);
dizi[0]=0; dizi[1]=1;
for(i=2;i<=sayi;i++)
{
dizi=dizi[i-1]+dizi[i-2];
}
for(i=0;i<sayi;i++)
{
printf("\n%d",dizi);
}
return 0;
}

Kod Analiz:

- Kullanıcıdan serinin kaçıncı terimine kadar yazdırılacaksa o terimi alıp sayı değişkenine atadık.
- Fibonacci dizimizin ilk terimini 0 ve ikinci terimini 1 olarak kayıt ettik.
- Daha sonra ise for döngüsü içerisinde dizinin her bir terimini kendisinden önce gelen 2 terimin toplamına eşitledik.
- Son olarak ise dizinin kullanıcının girdiği kadarını ekrana yazdırdık.

Ekran Görüntüsü:

Ekran%2BG%25C3%25B6r%25C3%25BCnt%25C3%25BCs%25C3%25BC%2B%2528210%2529.png


C dili dersleri serisinin bu dersinde c dilinde fibonacci serilerini bulan programın 2 varyasyonunu sizler için tanıttık.

"C Dilinde Fibonacci Sayılarını Bulan Program" adlı bu makaleyi beğendiyseniz yorum yapmayı ve paylaşmayı unutmayın.

Kaynak: Pubtekno
 
Son düzenleme:
Üst