v0.0.1

最大公约数(Greatest Common Divisor, GCD)

如果数a能被数b整除,a就叫做b的倍数,b就叫做a的约数。

几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。

例如 12, 16
其中 12 的约数(这里只讨论正约数) 1, 2, 3, 4, 6, 12
16的约数 1, 2, 4, 8, 16
可以看出来 12 16的公约数是 1, 2, 4, 其中最大公约数是 4

使用扩展的欧几里得算法

Number1:
Number2:
最大公约数:
s:
t:
其中 s 和 t 满足

最小公倍数(Least Common Multiple, LCM)

如果数a能被数b整除,a就叫做b的倍数,b就叫做a的约数。

几个整数中公有的倍数,叫做这几个数的公倍数;其中最小的一个,叫做这几个数的最小公倍数。

例如 12, 16
其中 12 的倍数 12, 24, 36, 48, 60, 72, 84, 96 ...
16的倍数 16, 32, 48, 64, 80, 96...
可以看出来 12 16的公倍数是 48, 96... 其中最小倍数是 48

最小公倍数可以借助最大公约数的算法得出,公式:

Number1:
Number2:
最小公倍数:

乘法逆元(Modular Inverse)

如果一个线性同余方程
,则 x 称为
的逆元,记作
乘法逆元的作用: 在模运算下无法直接执行除法(直接乘法可能出现小数),所以在模运算下乘上逆元就相当于除以了一个数
例:
Number:
Modulus模数:
Inverse逆元: