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 root \(k\), must be at least 2.

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