# Computing the Nth power of a number

suggest changeThe following method computes the value of `num`

raised to the power of `exp`

using recursion:

public long power(final int num, final int exp) { if (exp == 0) { return 1; } if (exp == 1) { return num; } return num * power(num, exp - 1); }

This illustrates the principles mentioned above: the recursive method implements a base case (two cases, n = 0 and n = 1) that terminates the recursion, and a recursive case that calls the method again. This method is O(N) and can be reduced to a simple loop using tail-call optimization.

Found a mistake? Have a question or improvement idea?
Let me know.

Table Of Contents