I dette programmet lærer du å finne og vise et tallfaktor ved hjelp av en rekursiv funksjon i Kotlin.
Faktoren til et positivt tall n er gitt av:
fabrikk av n (n!) = 1 * 2 * 3 * 4 * … * n
Faktoriet om et negativt tall eksisterer ikke. Og faktoren på 0 er 1.
Du vil lære å finne et tallfaktor ved hjelp av rekursjon i dette eksemplet. Besøk denne siden for å lære hvordan du kan finne et tall som bruker et nummer ved hjelp av loop.
Eksempel: Faktor av et tall ved bruk av rekursjon
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 kjører programmet, vil utdataene være:
Faktor av 6 = 720
Opprinnelig multiplyNumbers()
kalles det fra main()
funksjonen med 6 bestått som argument.
Siden 6 er større enn eller lik 1, multipliseres 6 med resultatet multiplyNumbers()
der 5 (num -1) sendes. Siden det kalles fra samme funksjon, er det et rekursivt anrop.
I hvert rekursivt anrop reduseres verdien av argumentet num med 1 til num når mindre enn 1.
Når verdien på num er mindre enn 1, er det ingen rekursiv samtale.
Og hver rekursive samtale returnerer og gir oss:
6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720
Her er ekvivalent Java-kode: Java-program for å finne faktoria ved hjelp av rekursjon