# 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