Skip to content
Related Articles

Related Articles

BigInteger modPow() Method in Java

Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 11 Aug, 2021
Improve Article
Save Article

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()
 

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!