Raku-Kurs / Grundlagen / Erstellen und Aufrufen von Funktionen / Übungen / Rekursive Fakultät
Lösung: Rekursive Fakultät
Die Berechnung der Fakultät ist eine sehr produktive Übung, da sie auf verschiedene Arten gelöst werden kann. Diesmal verwenden wir Rekursion, was bedeutet, dass die Funktion sich selbst aufruft.
Code 1
Hier ist der Code der Lösung. Beachten Sie, dass Sie die Bedingung überprüfen müssen, um die Rekursion zu stoppen, andernfalls wird sie unendlich fortgesetzt.
sub factorial($n) {
if $n < 2 {
return 1;
}
else {
return $n * factorial($n - 1);
}
}
say factorial(10);
🦋 Finden Sie das Programm in der Datei recursive-factorial.raku.
Code 2
In den Fällen, wie in diesem Code gezeigt, ist es oft besser, die Postfix-Formen von if
zu verwenden, um sofort aus der Funktion zurückzukehren. Dieser Ansatz klärt den Code und entfernt viel Einrückung und Interpunktion.
sub factorial($n) {
return 1 if $n < 2;
return $n * factorial($n - 1);
}
say factorial(10);
🦋 Finden Sie das aktualisierte Programm in der Datei recursive-factorial-2.raku.
Beispiel
Führen Sie das Programm aus und überprüfen Sie das Ergebnis. Übrigens, wussten Sie, dass 10! genau die Anzahl der Sekunden in sechs Wochen ist?
$ raku exercises/functions/recursive-factorial.raku
3628800
Nächste Übung
Kursnavigation
← Assoziative Datentypen / Interpolation von Hashes | Mehr über Funktionen →
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська