C# Dersleri 53 - Recursive ile Fibonacci Serisi

C# Dersleri 53 - Recursive ile Fibonacci Serisi


C# Recursive ile Fibonacci Serisi: Tanımı ve Örnek Uygulama

Fibonacci serisi, her sayının kendisinden önceki iki sayının toplamı olduğu bir sayı dizisidir. Serinin ilk iki elemanı 0 ve 1 olarak tanımlanır. Fibonacci serisi şu şekilde ilerler: 0, 1, 1, 2, 3, 5, 8, 13, 21 ve devam eder. Bu yazıda, C# dilinde recursive bir metot kullanarak Fibonacci serisini nasıl oluşturabileceğimizi öğreneceğiz.

Recursive Fibonacci Mantığı

Fibonacci serisini recursive olarak hesaplamak için iki temel durum (base case) tanımlanır:

  • Base Case 1: Eğer n = 0 ise Fibonacci sayısı 0'dır.
  • Base Case 2: Eğer n = 1 ise Fibonacci sayısı 1'dir.

Bunun dışında, Fibonacci sayısı şu şekilde hesaplanır:

Fibonacci(n) = Fibonacci(n - 1) + Fibonacci(n - 2)

Program Kodu:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Fibonacci serisinin eleman sayısını girin:");
        int count = int.Parse(Console.ReadLine());

        Console.WriteLine("Fibonacci Serisi:");
        for (int i = 0; i < count; i++)
        {
            Console.Write(Fibonacci(i) + " ");
        }
    }

    // Recursive olarak Fibonacci sayısını hesaplayan metot
    static int Fibonacci(int n)
    {
        if (n == 0) // Base case 1
        {
            return 0;
        }
        if (n == 1) // Base case 2
        {
            return 1;
        }

        return Fibonacci(n - 1) + Fibonacci(n - 2); // Recursive case
    }
}

Programın Çıktısı:

Kullanıcı, Fibonacci serisinden kaç eleman görmek istediğini belirler. Örneğin, kullanıcı 8 girerse, programın çıktısı şu şekilde olur:

Fibonacci serisinin eleman sayısını girin:
8

Fibonacci Serisi:
0 1 1 2 3 5 8 13

Kodun Açıklaması:

  1. Main metodu: Kullanıcıdan bir sayı alır ve bu sayı kadar Fibonacci serisi elemanını ekrana yazdırır. for döngüsü, her bir Fibonacci elemanını sırasıyla hesaplamak için Fibonacci metodunu çağırır.
  2. Fibonacci metodu: Recursive bir yapı kullanarak Fibonacci serisinin belirli bir elemanını hesaplar. Eğer n = 0 veya n = 1 ise base case'ler kullanılır; aksi halde recursive olarak kendisini çağırır.

Recursive Fibonacci'nin Avantaj ve Dezavantajları

Recursive Fibonacci metotlarının avantaj ve dezavantajlarını anlamak önemlidir:

  • Avantaj: Kodun anlaşılması ve yazılması oldukça basittir.
  • Dezavantaj: Her bir elemanı hesaplamak için çok fazla tekrar çağrı (rekürsif çağrı) yapılır, bu da büyük değerler için performans sorunlarına neden olabilir. Örneğin, Fibonacci(10) hesaplanırken birçok gereksiz işlem tekrar edilir.

Bu dezavantaj, dinamik programlama veya iterative çözümler kullanılarak giderilebilir.

Sonuç

Recursive yöntem, Fibonacci serisini hesaplamak için etkili ve kolay anlaşılır bir yaklaşım sunar. Ancak, büyük değerler için performans sorunlarına dikkat etmek gerekir. Fibonacci serisini öğrenirken recursive metotlarla çalışmak, bu önemli programlama kavramını anlamanıza yardımcı olacaktır.

Bu içeriği beğendiyseniz paylaşarak destek olabilirsiniz!


Eğitim İçeriği

Eğitim C# Dersleri
Kategori Programlama Dili
Ders Adeti 56 Ders
Dil Türkçe
Güncelleme 04/2024
  • HTML Dersleri

    HTML Dersleri Sıfırdan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 19 Ders
    Dil Türkçe
    Güncelleme 12/2020
    Derse Başla
  • Java Dersleri

    Java Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 125 Ders
    Dil Türkçe
    Güncelleme 09/2020
    Derse Başla
  • CSS Dersleri

    CSS Dersleri Başlangıçtan İleri Seviyeye

    Kategori Web Programlama
    Ders Süresi 49 Ders
    Dil Türkçe
    Güncelleme 10/2021
    Derse Başla
  • Java Örnek Projeler

    Java Örnek Projeler

    Kategori Programlama Dili
    Ders Süresi 20 Ders
    Dil Türkçe
    Güncelleme 10/2022
    Derse Başla
  • C# Dersleri

    C# Dersleri ve Nesne Yönelimli Programlama

    Kategori Programlama Dili
    Ders Süresi 100 Ders
    Dil Türkçe
    Güncelleme 04/2024
    Derse Başla