galois.iroot

galois.iroot(n, k)

Computes \(x = \lfloor n^{\frac{1}{k}} \rfloor\) such that \(x^k \le n < (x + 1)^k\).

Parameters
n : int

A non-negative integer.

k : int

The positive root \(k\).

Returns

The integer \(k\)-th root of \(n\).

Return type

int

Examples

In [1]: n = 1000

In [2]: x = galois.iroot(n, 5); x
Out[2]: 3

In [3]: print(f"{x**5} <= {n} < {(x + 1)**5}")
243 <= 1000 < 1024

Last update: Apr 03, 2022