Thursday, September 4, 2025
HomeLanguagesJavaBigInteger modPow() Method in Java

BigInteger modPow() Method in Java

Prerequisite: BigInteger Basics
The Java.math.BigInteger.modPow() method returns a BigInteger whose value is (thisexponent mod m ). 
If exponent == 1, the returned value is (this mod m) and if exponent < 0, the returned value is the modular multiplicative inverse of (this-exponent). The method throws an ArithmeticException if m <= 0.
 

Syntax:  

public BigInteger modPow(BigInteger exponent, BigInteger m)

Parameters: The method accepts two parameters.  

  • exponent: This parameter refers to the exponent.
  • m: This parameter refers to the modulus.

Return Value: The method returns a BigInteger object whose value is ( thisexponent mod m ).
 

Exceptions:  

  • ArithmeticException: If (m <= 0) or the exponent is negative and this BigInteger is not relatively prime to m.

Examples: 

Input: biginteger1 = 23895 
                        exponent = 15
                        biginteger2 = 14189
Output: 344
Explanation:
result = biginteger1.modPow(exponent, biginteger2)
23895^15 % 14189 = 344

Input: biginteger1 = 6547890621
       exponent = 4532415
       biginteger2 = 76543278906
Output: 1039609179
Explanation:
6547890621^4532415 % 76543278906 = 1039609179

Below program illustrates the Java.math.BigInteger.modPow() method: 
 

Java




// Code to illustrate modpow() method of BigInteger
import java.math.*;
import java.util.Scanner;
 
public class GFG {
 
    public static void main(String[] args)
    {
 
        // Create 3 BigInteger objects
        BigInteger biginteger1, biginteger2, result;
 
        // Initializing all BigInteger Objects
        biginteger1 = new BigInteger("23895");
        biginteger2 = new BigInteger("14189");
        BigInteger exponent = new BigInteger("15");
 
        // Perform modPow operation on the objects and exponent
        result = biginteger1.modPow(exponent, biginteger2);
        String expression = biginteger1 + "^" + exponent + " % "
                            + biginteger2 + " = " + result;
 
        // Displaying the result
        System.out.println(expression);
    }
}


Output: 

23895^15 % 14189 = 344

 

Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#abs()
 

RELATED ARTICLES

Most Popular

Dominic
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6629 POSTS0 COMMENTS
Nicole Veronica
11799 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11858 POSTS0 COMMENTS
Shaida Kate Naidoo
6749 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6698 POSTS0 COMMENTS
Umr Jansen
6716 POSTS0 COMMENTS