JAVA program to find power of a number using recursion

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));	
	}
}

Output

Share Me!