Answer:
The power function can be written as a recursive function (using Java) as follows:
- static int power(int x, int n)
- {
-         if(n == 0){
-             return 1;
-         }
-         else {
-             return power(x, n-1 ) * x;
-         }
-  }
Explanation:
A recursive function is a function that call itself during run time. 
Based on the question, we know x to the 0th power is 1. Hence, we can just create a condition if n = 0, return 1 (Line 3 - 5).
Next, we  implement the logic "x to the nth power can be obtained by multiplying x to the n-1'th power with x " from the question with the code:  return power(x, n-1 ) * x in the else block. (Line 6 -8)
In Line 7, power() function will call itself recursively by passing x and n-1 as arguments. Please note the value of n will be reduced by one for every round of recursive call. This recursive call will stop when n = 0. 
Just imagine if we call the function as follows:
int result =  power(2,  3);
What happen  will be as follows:
- run Line 7 -> return power(2, 2) * 2    
- run Line 7 -> return power(2, 1) * 2
- run Line 7 -> return power(1, 0) * 2
- run Line 4 -> return 1    (Recursive call stop here)
Next, the return value from the inner most recursive call will be return to the previous call stack:
- power(1, 0) * 2   ->   1 * 2
- power(2, 1) * 2   ->   1 * 2 * 2
- power(2, 2) * 2   ->   1 * 2 * 2 * 2 - > 8 (final output)