Skip to content

Commit 4ac720f

Browse files
committed
Update primes.py
1 parent fad546e commit 4ac720f

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

‎kryptools/primes.py‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,15 @@ def iroot(k: int, n: int) -> int:
125125
return n
126126
if k == 2:
127127
return isqrt(n)
128-
rr = isqrt(n)
128+
r = isqrt(n)
129+
while r**k >= n:
130+
rr = r
131+
r = isqrt(r)
129132
r =rr + 1
130133
k1 = k-1
131134
while rr < r:
132135
r = rr
133-
rr = (k1 * r + n // r ** k1) // k # Newton iteration
136+
rr = (k1 * rr + n // rr ** k1) // k # Newton iteration
134137
return r
135138

136139
def perfect_power(n: int) -> tuple|None:

0 commit comments

Comments
 (0)