Content · Programming · Python

Python math.integer.isqrt() Function: Usage and Examples

Compute floor(sqrt(n)) exactly using integer arithmetic.

2 views Published Oct 17, 2026 Updated Oct 18, 2026 Admin

Compute floor(sqrt(n)) exactly using integer arithmetic.

What You Will Learn


isqrt(n) returns the greatest integer whose square is no more than n; it works for large integers without floating-point rounding.

Version requirement: this module was added in Python 3.15. The matching functions in math work on older versions, although those aliases are soft-deprecated starting with 3.15.

Step-by-Step Example


The example below makes the behavior visible with small input values that you can change safely.

from math.integer import isqrt
print(isqrt(12345))

How the Example Works


  • The imports provide the standard-library tools used in the demonstration: math.integer.
  • The print() calls make the return values or state visible so you can compare them with the explanation and check your prediction.

This code uses an API available from Python 3.15. Run it in Python 3.15 or newer; older interpreters may fail at the import statement.

Expected output (calculated using the equivalent functions in math on the available interpreter; not a Python 3.15 runtime test):

111

Another Example: Compare the Results


Try a second input and compare it with the first. Notice whether the result changes in type, value, order, or number of items.

from math.integer import isqrt
print(isqrt(15), isqrt(16))

This comparison also requires Python 3.15 because it imports math.integer.

When You Would Use This


Use these exact integer operations for counting arrangements, simplifying ratios, or computing integer roots. This module is new in Python 3.15: on earlier interpreters, use the corresponding functions in math instead. The old math aliases remain available but are soft-deprecated in 3.15.

Practice: Modify the Code


Find the largest integer square that fits inside a quantity.

Verify the changed output against the behavior described above, including the relevant invalid or boundary case.

For complete parameters and version details, consult the official Python documentation.

Common Beginner Mistakes


  • Passing a negative integer or expecting rounding to the closest root.
  • Using math.integer on a Python interpreter older than 3.15 without checking availability.

Key Takeaways


  • Compute floor(sqrt(n)) exactly using integer arithmetic.
  • isqrt(n) returns the greatest integer whose square is no more than n; it works for large integers without floating-point rounding.
  • Apply this operation only after checking the assumptions and input conditions shown in the example.
Share this resourceSend this page to someone who may find it useful.