Ebben a programban megtanulják megtalálni és megjeleníteni egy szám faktoriálját egy rekurzív függvény segítségével Kotlinban.
Az n pozitív szám tényezőjét a következő adja meg:
n (n!) = 1 * 2 * 3 * 4 *… * n tényező
A negatív szám tényezője nem létezik. A 0 faktoriális értéke 1.
Ebben a példában megtanulja megtalálni a szám faktoriáját a rekurzió segítségével. Látogasson el erre az oldalra, hogy megtudja, hogyan találhatja meg a szám tényezőjét a hurok segítségével.
Példa: Rekurziót használó szám tényezője
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 )
A program futtatásakor a kimenet a következő lesz:
6-os tényező = 720
Kezdetben multiplyNumbers()
a main()
függvényből hívják meg, argumentumként 6- at adva át.
Mivel a 6 nagyobb vagy egyenlő 1-vel, a 6-ot megszorozzuk az multiplyNumbers()
5 (num -1) átadásának eredményével . Mivel ugyanabból a funkcióból hívják, rekurzív hívásról van szó.
Minden rekurzív hívás során a num argumentum értéke 1-vel csökken, amíg a num el nem éri az 1-t.
Ha a num értéke kisebb, mint 1, nincs rekurzív hívás.
És minden rekurzív hívás visszaadja:
6 * 5 * 4 * 3 * 2 * 1 * 1 (0 esetén) = 720
Itt található az ekvivalens Java-kód: Java program a faktoriális kereséshez rekurzióval