BigInteger sqrtAndRemainder() Method in Java with Examples
Last Updated :
15 Apr, 2019
The java.math.BigInteger.sqrtAndRemainder() method performs an operation upon the current BigInteger by which this method is called. This method is used to calculate the integer square root (sqrt(this)) of this number and the remainder of this number with the square. It returns an array of two BigIntegers containing the integer square root ‘p’ of this and its remainder (this – p*p), respectively. BigInteger class internally uses an array of integers for processing, so the operation on an object of BigIntegers is not as fast as on primitives.
Note: This method is available since JDK 9
Syntax:
public BigInteger[] sqrtAndRemainder()
Parameters: This method accepts no parameter.
Return Value: This method returns an array of two BigIntegers with the integer square root at index 0 and the remainder at index 1.
Exception: The number must be positive otherwise ArithmeticException is thrown.
Below programs illustrate sqrtAndRemainder() method of BigInteger class
Example 1:
import java.math.BigInteger;
class Main {
public static void main(String[] args)
{
BigInteger res[];
String input1 = "15" ;
BigInteger a
= new BigInteger(input1);
try {
res = a.sqrtAndRemainder();
System.out.println( "The square root of\n"
+ a + "\nis " + res[ 0 ]
+ "\nand remainder is "
+ res[ 1 ]);
}
catch (ArithmeticException e) {
System.out.println(e);
}
}
}
|
Output:
The square root of
15
is 3
and remainder is 6
Example 2:
import java.math.BigInteger;
class Main {
public static void main(String[] args)
{
BigInteger res[];
String input1 = "625" ;
BigInteger a
= new BigInteger(input1);
try {
res = a.sqrtAndRemainder();
System.out.println( "The square root of\n"
+ a + "\nis " + res[ 0 ]
+ "\nand remainder is "
+ res[ 1 ]);
}
catch (ArithmeticException e) {
System.out.println(e);
}
}
}
|
Output:
The square root of
625
is 25
and remainder is 0
Example 3:
Program showing exception when value is negative.
import java.math.BigInteger;
class Main {
public static void main(String[] args)
{
BigInteger res[];
String input1 = "-9" ;
BigInteger a
= new BigInteger(input1);
try {
res = a.sqrtAndRemainder();
System.out.println( "The square root of\n"
+ a + "\nis " + res[ 0 ]
+ "\nand remainder is "
+ res[ 1 ]);
}
catch (ArithmeticException e) {
System.out.println(e);
}
}
}
|
Output:
java.lang.ArithmeticException: Negative BigInteger
References: https://docs.oracle.com/javase/9/docs/api/java/math/BigInteger.html#sqrtAndRemainder–
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...