Open In App

BigInteger sqrt() Method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

java.math.BigInteger.sqrt() is an inbuilt function added in Java SE 9 & JDK 9 which returns BigInteger value of square root of a BigInteger on which sqrt() method is applied. It is the same as the floor(sqrt(n)) where n is a number. This Square root is less than the real square root if the real square root can not representable as an integral value.

Syntax: 

public BigInteger sqrt()

Parameters: The method does not take any parameters. 
Return Value: Method returns the integer square root of this BigInteger. 
Exception: The method will throw ArithmeticException if BigInteger is negative.

Example:  

Input: 234876543456
Output: 484640
Explanation: 122 is given as input which is the bigInteger.
The square root of 122 is 11.04536
whose BigInteger equivalent is 11 and using sqrt()
method of BigInteger class we can get
Square root of any BigInteger.

Input: 122
Output: 11

Below programs illustrates sqrt() method of BigInteger class:

Program 1: Showing application of sqrt() method to get square root of 31739.  

Java




// Please run this program in JDK 9 or JDK 10
// Java program to demonstrate sqrt() method
import java.math.*;
 
public class GFG {
 
    public static void main(String[] args)
    {
 
        // Creating a BigInteger object
        BigInteger big, squareRoot;
 
        big = new BigInteger("31739");
 
        // calculate square root of bigInteger
        // using sqrt() method
        squareRoot = big.sqrt();
 
        // print result
        System.out.println("Square root value of BigInteger " + big
                           + " is " + squareRoot);
    }
}


Output: 

Square root value of BigInteger 31739 is 178

Program 2: Showing Exception is thrown by sqrt() method.  

Java




//Please run this program in JDK 9 or JDK 10
// Java program to demonstrate sqrt() method
//and exception thrown by it
import java.math.*;
 
public class GFG {
 
    public static void main(String[] args)
    {
 
        // Creating a BigInteger object
        BigInteger big,squareRoot=null;
 
        big = new BigInteger("-2345");
 
        //calculate square root of bigInteger
        //using sqrt() method
        try {
            squareRoot = big.sqrt();
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        // print result
        System.out.println("Square root value of BigInteger " + big
                +" is "+squareRoot);
    }
}


Output: 

java.lang.ArithmeticException: Negative BigInteger
    at java.base/java.math.BigInteger.sqrt(Unknown Source)
    at GFG.main(GFG.java:19)
Square root value of BigInteger -2345 is null

Reference: https://docs.oracle.com/javase/9/docs/api/java/math/BigInteger.html#sqrt–
 



Last Updated : 23 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads