BigInteger sqrt() Method in Java

java.math.BigInteger.byteValueExact() is an inbuilt function added in Java SE 9 & JDK 9 which returns BigInteger value of square root of a BigInteger on which sqrt() methhod is applied. It is same as the floor(sqrt(n)) where n is a number.This Square root is less than 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.

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 o bigInteger
        // using sqrt() method
        squareRoot = big.sqrt();
  
        // print result
        System.out.println("Square root value of BigInteger " + big
                           + " is " + squareRoot);
    }
}

chevron_right


Output:

Square root value of BigInteger 31739 is 178

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

filter_none

edit
close

play_arrow

link
brightness_4
code

//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 o 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);
    }
}

chevron_right


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–



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : shubham_singh