Kotlin-program för att beräkna effekten med rekursion

I det här programmet lär du dig att beräkna kraften för ett tal med en rekursiv funktion i Kotlin.

Exempel: Program för att beräkna effekt med rekursion

 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 )

När du kör programmet blir resultatet:

 3 4 = 81

I programmet ovan beräknar du effekten med en rekursiv funktionseffekt ().

Enkelt uttryckt multiplicerar den rekursiva funktionen basen med sig själv för powerRaised-tider, vilket är:

 3 * 3 * 3 * 3 = 81
Utförande steg
Iteration kraft() powerRaised resultat
1 kraft (3, 4) 4 3 * resultat 2
2 kraft (3, 3) 3 3 * 3 * resultat 3
3 kraft (3, 2) 2 3 * 3 * 3 * resultat 4
4 kraft (3, 1) 1 3 * 3 * 3 * 3 * resultat slutliga
Slutlig effekt (3, 0) 0 3 * 3 * 3 * 3 * 1 = 81

Här är motsvarande Java-kod: Java-program för att beräkna effekt med rekursion

Intressanta artiklar...