Menu
Coddy logo textTech

Rekursions-Grundlagen

Teil des Abschnitts Fundamentals der C-Journey von Coddy. Lektion 50 von 63.

Rekursion ist eine Technik, bei der eine Funktion sich selbst aufruft, um ein Problem zu lösen. Es ist wie das Lösen eines großen Problems, indem man es in kleinere, ähnliche Probleme aufteilt.

Sehen wir uns eine einfache rekursive Funktion an, die factorial berechnet:

int factorial(int n) {
    // Basisfall: Die Fakultät von 0 oder 1 ist 1
    if (n <= 1) {
        return 1;
    }
    
    // Rekursiver Fall: n! = n * (n-1)!
    return n * factorial(n - 1);
}

Jede rekursive Funktion benötigt:

  1. Einen Basisfall, um die Rekursion zu beenden
  2. Einen rekursiven Fall, der sich auf den Basisfall zubewegt

Zum Beispiel die Berechnung von factorial(3):

  • factorial(3) ruft factorial(2) auf
  • factorial(2) ruft factorial(1) auf
  • factorial(1) gibt 1 zurück (Basisfall)
  • factorial(2) gibt 2 * 1 = 2 zurück
  • factorial(3) gibt 3 * 2 = 6 zurück
challenge icon

Aufgabe

Einfach

Erstelle eine function namens sumToN, die Rekursion verwendet, um die Summe der numbers von 1 bis n zu berechnen.

Zum Beispiel:

  • sumToN(3) sollte 6 (1 + 2 + 3) return
  • sumToN(5) sollte 15 (1 + 2 + 3 + 4 + 5) return

Deine function sollte:

  1. einen Base case verwenden, wenn n 1 ist (return 1)
  2. Andernfalls n plus die Summe der numbers von 1 bis (n-1) return

Probier es selbst

#include <stdio.h>

// Schreibe deine sumToN-Funktion hier

// Ändere die main()-Funktion nicht
int main() {
    int n;
    scanf("%d", &n);
    
    printf("%d", sumToN(n));
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals

Übe selbstständig: Online-C-Compiler