Kotlin-ohjelma tehon laskemiseksi rekursiolla

Tässä ohjelmassa opit laskemaan luvun voiman rekursiivisen funktion avulla Kotlinissa.

Esimerkki: Ohjelma laskemaan teho rekursiolla

 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 )

Kun suoritat ohjelmaa, tulos on:

 3 4 = 81

Edellä olevassa ohjelmassa teho lasketaan rekursiivisen funktion teholla ().

Yksinkertaisesti sanottuna rekursiivinen funktio kertoo perustan itsensä kanssa PowerRaised-aikoina, mikä on:

 3 * 3 * 3 * 3 = 81
Suoritusvaiheet
Toisto teho () teho kohonnut tulos
1 teho (3, 4) 4 3 * tulos 2
2 teho (3, 3) 3 3 * 3 * tulos 3
3 teho (3, 2) 2 3 * 3 * 3 * tulos 4
4 teho (3, 1) 1 3 * 3 * 3 * 3 * tulos lopullinen
Lopullinen teho (3, 0) 0 3 * 3 * 3 * 3 * 1 = 81

Tässä on vastaava Java-koodi: Java-ohjelma tehon laskemiseksi rekursiolla

Mielenkiintoisia artikkeleita...