Kotlin-program til at finde en faktor ved hjælp af rekursion

I dette program lærer du at finde og vise et nummer på et nummer ved hjælp af en rekursiv funktion i Kotlin.

Faktoriet for et positivt tal n er givet ved:

 faktor af n (n!) = 1 * 2 * 3 * 4 * … * n

Faktoren for et negativt tal findes ikke. Og faktoren på 0 er 1.

I dette eksempel lærer du at finde et faktors nummer ved hjælp af rekursion. Besøg denne side for at lære, hvordan du kan finde et nummer ved hjælp af loop.

Eksempel: Faktor af et tal ved hjælp af rekursion

 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 )

Når du kører programmet, vil output være:

 Faktor 6 = 720

Oprindeligt multiplyNumbers()kaldes den fra main()funktionen med 6 bestået som argument.

Da 6 er større end eller lig med 1, multipliceres 6 med resultatet, multiplyNumbers()hvor 5 (num -1) sendes. Da det kaldes fra den samme funktion, er det et rekursivt opkald.

I hvert rekursivt opkald reduceres værdien af ​​argumentet num med 1, indtil num når mindre end 1.

Når værdien af ​​num er mindre end 1, er der ikke noget rekursivt opkald.

Og hvert rekursive opkald vender tilbage og giver os:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720

Her er den ækvivalente Java-kode: Java-program til at finde en faktor ved hjælp af rekursion

Interessante artikler...