Menu
CoddyTech

Grundlagen der Rekursion

Teil des Abschnitts Grundlagen 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, als würde man ein großes Problem lösen, indem man es in kleinere, ähnliche Probleme zerlegt.

Sehen wir uns eine einfache rekursive Funktion an, die die Fakultät 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, der die Rekursion beendet
  2. Einen rekursiven Fall, der sich dem Basisfall nähert

Zum Beispiel bei der 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 Funktion namens sumToN, die Rekursion verwendet, um die Summe der Zahlen von 1 bis n zu berechnen.

Zum Beispiel:

  • sumToN(3) sollte 6 zurückgeben (1 + 2 + 3)
  • sumToN(5) sollte 15 zurückgeben (1 + 2 + 3 + 4 + 5)

Deine Funktion sollte:

  1. Einen Basisfall verwenden, wenn n 1 ist (1 zurückgeben)
  2. Andernfalls n plus die Summe der Zahlen von 1 bis (n-1) zurückgeben

Probier es selbst

#include <stdio.h>

// Schreibe hier deine Funktion sumToN

// Ändere die Funktion main() 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 Grundlagen

Übe selbstständig: Online-C-Compiler