Menu
Coddy logo textTech

Özyinelemenin Temelleri

Coddy'nin C Journey'sinin Temeller bölümünün bir parçası. Ders 50 / 63.

Özyineleme, bir fonksiyonun bir problemi çözmek için kendisini çağırdığı bir tekniktir. Büyük bir problemi daha küçük, benzer problemlere bölerek çözmek gibidir.

Faktöriyeli hesaplayan basit bir özyinelemeli işleve bakalım:

int factorial(int n) {
    // Temel durum: 0 veya 1'in faktöriyeli 1'dir
    if (n <= 1) {
        return 1;
    }
    
    // Özyinelemeli durum: n! = n * (n-1)!
    return n * factorial(n - 1);
}

Her özyinelemeli fonksiyonun şunlara ihtiyacı vardır:

  1. Özyinelemeyi durduracak bir temel durum
  2. Temel duruma doğru ilerleyen bir özyinelemeli durum

Örneğin, factorial(3) hesaplanırken:

  • factorial(3), factorial(2)'yi çağırır
  • factorial(2), factorial(1)'i çağırır
  • factorial(1), 1 döndürür (temel durum)
  • factorial(2), 2 * 1 = 2 değerini döndürür
  • factorial(3), 3 * 2 = 6 değerini döndürür
challenge icon

Görev

Kolay

sumToN adlı, 1'den n'e kadar olan sayıların toplamını hesaplamak için özyineleme kullanan bir fonksiyon oluşturun.

Örneğin:

  • sumToN(3), 6 (1 + 2 + 3) döndürmelidir
  • sumToN(5), 15 (1 + 2 + 3 + 4 + 5) döndürmelidir

Fonksiyonunuz şunları yapmalıdır:

  1. n 1 olduğunda bir temel durum kullanın (1 döndürün)
  2. Aksi takdirde, n ile 1'den (n-1)'e kadar olan sayıların toplamını döndürün

Kendin dene

#include <stdio.h>

// sumToN fonksiyonunuzu buraya yazın

// main() fonksiyonunu değiştirmeyin
int main() {
    int n;
    scanf("%d", &n);
    
    printf("%d", sumToN(n));
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi