In dit programma leer je de kracht van een getal te berekenen met behulp van een recursieve functie in Kotlin.
Voorbeeld: programma om vermogen te berekenen met behulp van recursie
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 )
Wanneer u het programma uitvoert, is de uitvoer:
3 4 = 81
In het bovenstaande programma bereken je het vermogen met behulp van een recursieve functie power ().
In eenvoudige bewoordingen vermenigvuldigt de recursieve functie de basis met zichzelf voor powerRaised-tijden, namelijk:
3 * 3 * 3 * 3 = 81Uitvoeringsstappen
Iteratie | vermogen () | powerRaised | resultaat |
---|---|---|---|
1 | vermogen (3, 4) | 4 | 3 * resultaat 2 |
2 | vermogen (3, 3) | 3 | 3 * 3 * resultaat 3 |
3 | vermogen (3, 2) | 2 | 3 * 3 * 3 * resultaat 4 |
4 | vermogen (3, 1) | 1 | 3 * 3 * 3 * 3 * resultaat definitief |
Laatste | vermogen (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |
Hier is de equivalente Java-code: Java-programma om het vermogen te berekenen met behulp van recursie