欧几里得算法(Eculidean Algorithm)指明:a,b最大公约数(Greatest Common Divisor),等于b,a%b的最大公约数,公式如下
引理证明
如果 (a + b) % d = 0,b % d = 0,则必然有 a % d = 0。
证明如下:
因为(a + b) % d = 0 ,b % d = 0,
所以可以令 a + b = kd , b = k’ d, 其中k 和 k’ 都是整数。
进而,a + b = kd ----> a + k’d = kd -----> a = (k-k’)d,即 a 是 d 的整数倍,进而必有 a % d = 0,证毕。
欧几里得算法求最大公约数程序流程如下:
以下仅为个人小记,由于其他用途而引用该代码所产生任何问题以及后果,概不负责。