Program Kotlin do znajdowania silni liczby przy użyciu rekursji

W tym programie nauczysz się znajdować i wyświetlać silnię liczby za pomocą funkcji rekurencyjnej w Kotlinie.

Silnia liczby dodatniej n jest wyrażona wzorem:

 silnia n (n!) = 1 * 2 * 3 * 4 *… * n

Silnia liczby ujemnej nie istnieje. Silnia 0 to 1.

W tym przykładzie nauczysz się znajdować silnię liczby za pomocą rekurencji. Odwiedź tę stronę, aby dowiedzieć się, jak znaleźć silnię liczby za pomocą pętli.

Przykład: silnia liczby przy użyciu rekursji

 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 )

Po uruchomieniu programu wynik będzie następujący:

 Silnia 6 = 720

Początkowo multiplyNumbers()wywoływana jest main()funkcja z wartością 6 przekazaną jako argument.

Ponieważ 6 jest większe lub równe 1, 6 jest mnożone do wyniku, multiplyNumbers()gdzie przekazano 5 (liczba -1). Ponieważ jest wywoływana z tej samej funkcji, jest to wywołanie rekurencyjne.

W każdym wywołaniu rekurencyjnym wartość argumentu num jest zmniejszana o 1, aż liczba osiągnie wartość mniejszą niż 1.

Gdy wartość num jest mniejsza niż 1, nie ma wywołania rekurencyjnego.

A każde rekurencyjne wywołanie zwraca nam:

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

Oto odpowiednik kodu w Javie: Program w języku Java do znajdowania silni przy użyciu rekursji

Interesujące artykuły...