BigInteger remainder() Method in Java (original) (raw)

Last Updated : 4 Dec, 2018

The java.math.BigInteger.remainder(BigInteger big) method returns a BigInteger whose value is equal to (this BigInteger % big(BigInteger passed as parameter)).The remainder operation finds the remainder after division of this BigInteger by another BigInteger passed as parameter.Syntax:

public BigInteger remainder(BigInteger big)

Parameter: The function accepts a single mandatory parameter big which specifies the BigInteger Object by which we want to divide this bigInteger object.Returns: The method returns the BigInteger which is equal to this BigInteger % big(BigInteger passed as parameter).ExceptionThe method throws an ArithmeticException - when big = 0 Examples:

Input: BigInteger1=321456, BigInteger2=31711 Output: 4346 Explanation: BigInteger1.remainder(BigInteger2)=4346. The divide operation between 321456 and 31711 returns 4346 as remainder.

Input: BigInteger1=59185482345, BigInteger2=59185482345 Output: 0 Explanation: BigInteger1.remainder(BigInteger2)=0. The divide operation between 59185482345 and 59185482345 returns 0 as remainder.

Example 1: Below programs illustrate remainder() method of BigInteger class

Java `

// Java program to demonstrate remainder() method of BigInteger

import java.math.BigInteger;

public class GFG {

public static void main(String[] args)
{

    // Creating 2 BigInteger objects
    BigInteger b1, b2;

    b1 = new BigInteger("321456");
    b2 = new BigInteger("31711");

    // apply remainder() method
    BigInteger result = b1.remainder(b2);

    // print result
    System.out.println("Result of remainder "
                       + "operation between " + b1
                       + " and " + b2 + " equal to " + result);
}

}

`

Output:

Result of remainder operation between 321456 and 31711 equal to 4346

Example 2: when both are equal in value.

Java `

// Java program to demonstrate remainder() method of BigInteger

import java.math.BigInteger;

public class GFG {

public static void main(String[] args)
{

    // Creating 2 BigInteger objects
    BigInteger b1, b2;

    b1 = new BigInteger("3515219485");
    b2 = new BigInteger("3515219485");

    // apply remainder() method
    BigInteger result = b1.remainder(b2);

    // print result
    System.out.println("Result of remainder "
                       + "operation between " + b1
                       + " and " + b2 + " equal to " + result);
}

}

`

Output:

Result of remainder operation between 3515219485 and 3515219485 equal to 0

Example 3: program showing exception when BigInteger passed as parameter is equal to zero.

Java `

// Java program to demonstrate remainder() method of BigInteger

import java.math.BigInteger;

public class GFG {

public static void main(String[] args)
{

    // Creating 2 BigInteger objects
    BigInteger b1, b2;

    b1 = new BigInteger("3515219485");
    b2 = new BigInteger("0");

    // apply remainder() method
    BigInteger result = b1.remainder(b2);

    // print result
    System.out.println("Result of remainder "+
            "operation between " + b1
            + " and " + b2 +
            " equal to " + result);
}

}

`

Output: Exception in thread "main" java.lang.ArithmeticException: BigInteger divide by zero at java.math.MutableBigInteger.divideKnuth(MutableBigInteger.java:1179) at java.math.MutableBigInteger.divideKnuth(MutableBigInteger.java:1163) at java.math.BigInteger.remainderKnuth(BigInteger.java:2167) at java.math.BigInteger.remainder(BigInteger.java:2155) at GFG.main(GFG.java:16)

Reference: BigInteger remainder() Docs