JAVA program to find power of a number using recursion
This JAVA program is to find power of a number using recursion.
For example if base is 2 and exponent is 3 then the power of a number is 23 = 8.
Logic
We include one base case i.e. when exponent is zero then we return 1 and a non base case i.e. multiply base with recursive call to power with expopnent decreased by 1.
Dry Run of the Program
Take input as base=2 and power=3
We enter function power()
int power(int b,int e)
b=2 and e=3
if(e==0) false
else
return (b*power(b,e-1)); i.e. return (2*power(2,3-1)); i.e. return (2*power(2,2));
A recursive call[power(2,2)]
if(e==0) false
else
return (b*power(b,e-1)); i.e. return (2*power(2,2-1)); i.e. return (2*power(2,1));
A recursive call[power(2,1)]
if(e==0) false
else
return (b*power(b,e-1)); i.e. return (2*power(2,1-1)); i.e. return (2*power(2,0));
A recursive call[power(2,0)]
if(e==0) true
return 1
So now we will have
1 … power(2,0)
2*1 = 2 … power(2,1)
2*2 = 4 … power(2,2)
2*4 = 8 …power(2,3) ….final answer
Program
import java.util.*; class mr14 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter base"); int base=sc.nextInt(); System.out.println("Enter exponent"); int exponent=sc.nextInt(); System.out.println("Power("+base+"^"+exponent+") = "+power(base,exponent)); } static int power(int b,int e) { if(e==0) return 1; else return (b*power(b,e-1)); } }