Šioje programoje išmoksite apskaičiuoti skaičiaus galią naudodamiesi rekursine Kotlino funkcija.
Pavyzdys: programa apskaičiuoti galią naudojant rekursiją
 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 )
Kai paleisite programą, išvestis bus:
3 4 = 81
Pirmiau pateiktoje programoje jūs apskaičiuojate galią naudodami rekursinės funkcijos galią ().
Paprasčiau tariant, rekursinė funkcija padaugina pagrindą iš savęs, kad galia padidėtų, tai yra:
3 * 3 * 3 * 3 = 81Vykdymo veiksmai
| Kartojimas | galia () | galia Pakelta | rezultatas | 
|---|---|---|---|
| 1 | galia (3, 4) | 4 | 3 * rezultatas 2 | 
| 2 | galia (3, 3) | 3 | 3 * 3 * rezultatas 3 | 
| 3 | galia (3, 2) | 2 | 3 * 3 * 3 * rezultatas 4 | 
| 4 | galia (3, 1) | 1 | 3 * 3 * 3 * 3 * rezultato finalas | 
| Galutinis | galia (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 | 
Štai ekvivalentiškas „Java“ kodas: „Java“ programa, skirta apskaičiuoti galią naudojant rekursiją








