V tomto programe sa naučíte vypočítať mocnosť čísla pomocou rekurzívnej funkcie v Kotline.
Príklad: Program na výpočet výkonu pomocou rekurzie
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 )
Po spustení programu bude výstup:
3 4 = 81
Vo vyššie uvedenom programe vypočítate výkon pomocou rekurzívnej funkcie power ().
Zjednodušene povedané, rekurzívna funkcia násobí sama so sebou základňu pre powerRaised times, čo je:
3 * 3 * 3 * 3 = 81Kroky vykonania
Iterácia | moc() | výkon zvýšený | výsledok |
---|---|---|---|
1 | sila (3, 4) | 4 | 3 * výsledok 2 |
2 | sila (3, 3) | 3 | 3 * 3 * výsledok 3 |
3 | napájanie (3, 2) | 2 | 3 * 3 * 3 * výsledok 4 |
4 | napájanie (3, 1) | 1 | 3 * 3 * 3 * 3 * výsledok konečný |
Konečný | sila (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |
Tu je ekvivalentný kód Java: Program Java na výpočet výkonu pomocou rekurzie