Wednesday, September 3, 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
32260 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6625 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11854 POSTS0 COMMENTS
Shaida Kate Naidoo
6746 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6694 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS