Tuesday, October 7, 2025
HomeLanguagesJavaJava Program to Calculate Power of a Number

Java Program to Calculate Power of a Number

Given a number N and a power P, the task is to find the exponent of this number raised to the given power, i.e. NP. Examples:

Input: N = 5, P = 2
Output: 25

Input: N = 2, P = 5
Output: 32

Below are the various ways to find NP:

  • Method 1: Using Recursion 

Java




// Java program to find the power of a number
// using Recursion
 
class GFG {
 
    // Function to calculate N raised to the power P
    static int power(int N, int P)
    {
        if (P == 0)
            return 1;
        else
            return N * power(N, P - 1);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int N = 2;
        int P = 3;
 
        System.out.println(power(N, P));
    }
}


Output

8
  • Method 2: With the help of Loop 

Java




// Java program to find the power of a number
// with the help of loop
 
class GFG {
 
    // Function to calculate N raised to the power P
    static int power(int N, int P)
    {
        int pow = 1;
        for (int i = 1; i <= P; i++)
            pow *= N;
        return pow;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int N = 2;
        int P = 3;
 
        System.out.println(power(N, P));
    }
}


Java




// Java program to find the power of a number
// using Math.pow() method
 
import java.lang.Math;
 
class GFG {
 
    // Function to calculate N raised to the power P
    static double power(int N, int P)
    {
        return Math.pow(N, P);
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int N = 2;
        int P = 3;
 
        System.out.println(power(N, P));
    }
}


Output

8.0
  • Method 4 : Efficient Approach

In this approach I am going to calculate power of given base using bit manipulation with logarithmic time complexity

Java




/*java program to calculate of power of given base number */
public class GFG {
    public static void main(String[] args) {
        int base = 2;
        int power = 3;
        int ans = 1;
        while (power > 0){
            if ((power&1)==1){
               // if == 0 there is no point to calculate ans
                ans = ans * base;
            }
            base = base * base;
            // keep dividing power by 2 using right shift
            power = power >> 1;
        }
        System.out.println(ans);
    }
}


Output

8

Time complexity : O(logb)

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32340 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6709 POSTS0 COMMENTS
Nicole Veronica
11874 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11937 POSTS0 COMMENTS
Shaida Kate Naidoo
6832 POSTS0 COMMENTS
Ted Musemwa
7091 POSTS0 COMMENTS
Thapelo Manthata
6781 POSTS0 COMMENTS
Umr Jansen
6785 POSTS0 COMMENTS