Kotlin-programma om de faculteit van een nummer te vinden met behulp van recursie

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

Interessante artikelen...