У цій програмі ви навчитеся обчислювати потужність числа за допомогою рекурсивної функції в Kotlin.
Приклад: Програма для обчислення потужності за допомогою рекурсії
fun main(args: Array) ( val base = 3 val powerRaised = 4 val result = power(base, powerRaised) println("$base^$powerRaised = $result") ) fun power(base: Int, powerRaised: Int): Int ( if (powerRaised != 0) return base * power(base, powerRaised - 1) else return 1 )
Коли ви запускаєте програму, результат буде:
3 4 = 81
У наведеній вище програмі ви обчислюєте потужність за допомогою рекурсивної функції потужності ().
Говорячи простими словами, рекурсивна функція множить основу з собою на часи, що збільшуються, а це:
3 * 3 * 3 * 3 = 81Етапи виконання
Ітерація | потужність () | піднята потужність | результат |
---|---|---|---|
1 | потужність (3, 4) | 4 | 3 * результат 2 |
2 | потужність (3, 3) | 3 | 3 * 3 * результат 3 |
3 | потужність (3, 2) | 2 | 3 * 3 * 3 * результат 4 |
4 | потужність (3, 1) | 1 | 3 * 3 * 3 * 3 * результат остаточний |
Остаточний | потужність (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |
Ось еквівалентний код Java: програма Java для обчислення потужності за допомогою рекурсії