RosettaCodeData/Task/Modular-inverse/11l/modular-inverse.11l

16 lines
222 B
Plaintext

F mul_inv(=a, =b)
V b0 = b
V x0 = 0
V x1 = 1
I b == 1 {R 1}
L a > 1
V q = a I/ b
(a, b) = (b, a % b)
(x0, x1) = (x1 - q * x0, x0)
I x1 < 0 {x1 += b0}
R x1
print(mul_inv(42, 2017))