Open In App

Python | math.isqrt() method

Math module in Python contains a number of mathematical operations, which can be performed with ease using the module. 
math.isqrt() method in Python is used to get the integer square root of the given non-negative integer value n. This method returns the floor value of the exact square root of n or equivalently the greatest integer a such that a2 <= n.

Note: This method is new in Python version 3.8. 



Syntax: math.isqrt(n) 

Parameter: 
n: A non-negative integer 



Returns: an integer value which represents the floor of exact square root of the given non-negative integer n. 
 

Code #1: Use of math.isqrt() method




# Python Program to explain
# math.isqrt() method
 
 
import math
 
n = 10
 
# Get the floor value of
# exact square root of n
sqrt = math.isqrt(n)
print(sqrt)
 
n = 100
 
# Get the floor value of
# exact square root of n
sqrt = math.isqrt(n)
print(sqrt)

Output: 
3
10

 

Code #2: Use of math.isqrt() method to check whether the given integer is a perfect square.




# Python Program to explain
# math.isqrt() method
 
 
import math
 
 
def isPerfect(n):
     
    # Get the floor value of
    # exact square root of n
    sqrt = math.isqrt(n)
     
    if sqrt * sqrt == n:
        print(f"{n} is perfect square")
     
    else :
        print(f"{n} is not a perfect square")
 
 
 
# Driver's code
isPerfect(100)
isPerfect(10)

Output: 
100 is perfect square
10 is not a perfect square

 

Code #3: Use of math.isqrt() method to find the next perfect square of n.




# Python Program to explain
# math.isqrt() method
 
 
import math
 
n = 11
 
 
def Next(n):
     
    # Get the ceiling of
    # exact square root of n
    ceil = 1 + math.isqrt(n)
     
    # print the next perfect square of n
    print("Next perfect square of {} is {}".
          format(n, ceil*ceil))
 
 
# Driver's code
Next(11)
Next(37)

Output: 
Next perfect square after 11 is 16
Next perfect square after 37 is 49

 


Article Tags :