之前有一次在网上搜索最大公约数及最大公约数的算法,结果发现很多人公布出来的算法里面,很多人都是直接模拟了人在求最小公约数的方法进行试商,所以我把自己看到的方法写下来
这个方法在九章算术里面可以查找到,西方古代也有人有这种类似的方法。我现在说的就是西方人的方法,和九章算术里面的稍微有点区别,称为欧几里德算法
两个数 a, b(a〉b)
temp = b
b = a mod b
if b = 0 则 temp为最大公约数
这是一个循环,大家自己完善。
总的来说,就是大数除小数,如果余数不为零,则把小数除以余数 ,循环
如果余数为零,则此时的除数或者上一步的余数就是了