Ana sayfa » C# Fibonacci Algoritması
Algoritma C# Yazılım Dilleri

C# Fibonacci Algoritması

Fibonacci Dizisi

Fibonacci dizisini, orta çağın yetenekli İtalyan matematikçisi Leonardo Fibonacci tarafından keşfedilmiştir. Fibonacci dizisi ilk iki sayı 0 ve 1 olmak üzere önceki 2 sayının toplamından sonraki sayıyı bulma algoritması ile oluşturulmaktadır. Şöyle ki

İlk Sayı : 0

İkinci Sayı : 1

Sonraki Sayı = 0 + 1 = 1;

Sonraki Sayı = 1 +1 = 2 ;

Sonraki Sayı = 2 + 1 = 3; diye devam eder. Bu dizi 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 diye devam eder.

C# dili ile Fibonacci Algoritmasını koda dökelim. Girilen sayı kadar Fibonacci dizisi üreten bir kod yazalım:

using System;

namespace FibonacciAlgoritması
{
    class Program
    {
        static void Main(string[] args)
        {
            int n1 = 0, n2 = 1, n3, i, sayi;
            Console.Write("Fibonacci Dizisi Eleman Sayısı: ");
            sayi = int.Parse(Console.ReadLine());
            Console.Write(n1 + " " + n2 + " ");  //0 ve 1 sayılarını yazar. Fibonacci dizisinin İlk iki sayısı
            for (i = 2; i < sayi; ++i)  //loop 2'den başlar çünkü 0 ve 1 i zaten yazdırmıştık.    
            {
                n3 = n1 + n2;
                Console.Write(n3 + " ");
                n1 = n2;
                n2 = n3;
            }
        }
    }
}

Fibonacci Dizisini bulmak için recursive denilen yöntemle de çözelim. Recurve kelimesinin Türkçe karşılığı “özyineleme” olarak kayıtlara geçmiş. Özyinele ile ilgili detaylı yazı için tıklayınız…

using System;

namespace FibonacciAlgoritmasi
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Fibonacci Dizisi Eleman Sayısı: ");
            int sayi= Convert.ToInt32(Console.ReadLine());
            Fibonacci(0, 1, sayi);
        }

        public static void Fibonacci(int a, int b, int sayi)
        {
            Console.WriteLine(a);
            if (sayi> 1) Fibonacci(b, a + b, --sayi);
        }
    }
}

Süleyman Düzgün

Ankara Ünv. Bilgisayar Müh.
Kıdemli Yazılım Geliştirici

Yorum Ekle

Yorum yazmak için tıklayın.