English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie man mit rekursiven Funktionen in Kotlin die Fakultät einer Zahl findet und anzeigt.
Die Fakultät eines positiven Numbers n gibt sich durch die folgende Formel an:
Fakultät von n (n!) = 1 * 2 * 3 * 4 * ... * n
Die Fakultät von negativen Zahlen existiert nicht. Die Fakultät von 0 ist1.
In diesem Beispiel werden Sie lernen, wie man die Fakultät einer Zahl rekursiv findet. Besuchen Sie diese Seite, um zu erfahren, wie man die Fakultät einer Zahl mit einem Loop findet. Fakultät.
fun main(args: Array<String>) { val num = 6 val factorial = multiplyNumbers(num) println("$num Fakultät = $factorial") } fun multiplyNumbers(num: Int): Long { falls (num >= 1) zurück num * multiplyNumbers(num - 1) sonst zurück 1 }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
6 Fakultät = 720
Zunächst wird von der Funktion main() multiplyNumbers() aufgerufen, und6als Parameter übergeben wurde.
Weil6größer oder gleich1übergeben hat, also6hat das Ergebnis von multiplyNumbers() multipliziert, das5 (num -1)。Weil es aus derselben Funktion aufgerufen wird, ist es ein rekursiver Aufruf.
In jeder rekursiven Aufruf wird der Wert von Parameter num verringert1,bis num kleiner ist als1。Wenn der Wert von num kleiner ist als1Es gibt keine rekursiven Aufrufe.
Jede rekursive Aufruf gibt uns zurück:
6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720
Hier ist das äquivalente Java-Code:Java-Programm zum Suchen des Faktorials mit Rekursion