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