欧几里得算法介绍
欧几里得算法又称辗转相除法,用于计算两个数的最大公约数(最大公因数),假如求a和b的最大公约数,因此常用gcd(a,b)来表示a和b的最大公约数。
例如:求100和28的最大公约数,用欧几里得算法如下所示
100 / 28 = 3 (余 16)
28 / 16 =1 (余 12)
16 / 12 =1 (余 4)
12 / 4 =3 (余 0)
因此最大公约数是4。
用除数和余数反复做除法运算,当余数为 0 时,取余数为0的算式除数为最大公约数,所以就得出了 100 和 28 的最大公约数4。
欧几里得算法代码
int gcd(int a,int b)