In dit programma leer je om de faculteit van een getal te vinden en weer te geven met behulp van een recursieve functie in Kotlin.
De faculteit van een positief getal n wordt gegeven door:
faculteit van n (n!) = 1 * 2 * 3 * 4 *… * n
De faculteit van een negatief getal bestaat niet. En de faculteit van 0 is 1.
In dit voorbeeld leer je de faculteit van een getal te vinden met behulp van recursie. Bezoek deze pagina om te leren hoe u de faculteit van een getal kunt vinden met behulp van lus.
Voorbeeld: faculteit van een getal met behulp van recursie
fun main(args: Array) ( val num = 6 val factorial = multiplyNumbers(num) println("Factorial of $num = $factorial") ) fun multiplyNumbers(num: Int): Long ( if (num>= 1) return num * multiplyNumbers(num - 1) else return 1 )
Wanneer u het programma uitvoert, is de uitvoer:
Factoriaal van 6 = 720
In eerste instantie wordt de multiplyNumbers()
aangeroepen vanuit de main()
functie met 6 doorgegeven als argument.
Omdat 6 groter is dan of gelijk is aan 1, wordt 6 vermenigvuldigd met het resultaat multiplyNumbers()
waarvan 5 (num -1) wordt doorgegeven. Omdat het wordt aangeroepen vanuit dezelfde functie, is het een recursieve aanroep.
Bij elke recursieve aanroep wordt de waarde van argument num verlaagd met 1 totdat num minder dan 1 bereikt.
Als de waarde van num kleiner is dan 1, is er geen recursieve aanroep.
En elke recursieve aanroep keert terug en geeft ons:
6 * 5 * 4 * 3 * 2 * 1 * 1 (voor 0) = 720
Hier is de equivalente Java-code: Java-programma om faculteit te vinden met behulp van recursie