„Kotlin“ programa apskaičiuoti galią naudojant rekursiją

Š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 = 81
Vykdymo 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ą

Įdomios straipsniai...