I det här programmet lär du dig att hitta och visa ett talfaktor med en rekursiv funktion i Kotlin.
Faktorn för ett positivt tal n ges av:
fabrik av n (n!) = 1 * 2 * 3 * 4 * … * n
Faktorn för ett negativt tal finns inte. Och faktorn 0 är 1.
Du kommer att lära dig att hitta ett tal med hjälp av rekursion i detta exempel. Besök den här sidan för att lära dig hur du kan hitta ett nummer med hjälp av loop.
Exempel: Faktor av ett nummer som använder 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ör programmet blir resultatet:
Faktor 6 = 720
Ursprungligen multiplyNumbers()
kallas den från main()
funktionen med 6 godkända som argument.
Eftersom 6 är större än eller lika med 1 multipliceras 6 med resultatet multiplyNumbers()
där 5 (num -1) passeras. Eftersom det kallas från samma funktion är det ett rekursivt samtal.
I varje rekursivt samtal minskas värdet på argumentet num med 1 tills num når mindre än 1.
När värdet på num är mindre än 1, finns det inget rekursivt samtal.
Och varje rekursivt samtal returnerar och ger oss:
6 * 5 * 4 * 3 * 2 * 1 * 1 (för 0) = 720
Här är motsvarande Java-kod: Java-program för att hitta faktoria med rekursion