w3resource

Kotlin Tail-Recursive function: Calculate the power of a number

Kotlin Function: Exercise-17 with Solution

Write a Kotlin tail-recursive function to calculate the power of a number.

Sample Solution:

Kotlin Code:

tailrec fun power(base: Int, exponent: Int, result: Int = 1): Int {
    if (exponent == 0) {
        return result
    }
    
    return power(base, exponent - 1, result * base)
}

fun main() {
    val base = 3
    val exponent = 5
    val result = power(base, exponent)
    println("$base raised to the power of $exponent is: $result")
}

Sample Output:

3 raised to the power of 5 is: 243

Explanation:

In the above exercise -

  • The "fibonacci()" function takes three parameters: n, which represents the position of the Fibonacci number to be calculated, a and b which are used to keep track of the previous two Fibonacci numbers.
  • If n becomes 0, we have reached the desired position and return a, the current Fibonacci number.
  • In each recursive call, we decrement n by 1 and calculate the next Fibonacci number by adding the previous two Fibonacci numbers (a + b). The current value of b becomes the new value of a, and the sum a + b becomes the new value of b.
  • By using tail recursion, we make the recursive call directly without any additional computation.
  • The recursive calls continue until the base case is reached and the final Fibonacci number is computed.

Kotlin Editor:


Previous: Calculate the nth Fibonacci.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/kotlin-exercises/recursion-function/kotlin-recursion-function-exercise-17.php