摘要:分别定义了三种求最大公约数和最小公倍数的函数:遍历法,辗转相除法,更相减损法(辗转相除法是最好的算法);time模块的clock()方法,用来测算程序执行所消耗的时间。
遍历法
遍历法的可以从前往后遍历,也可以从后往前遍历。简单来说就是判断一个数是否都是研究对象m和n的约数。
代码:
辗转相除法
辗转相除法是三个方法中最好的算法,处理较大的整数时尤为明显。基本过程是:研究对象(假设m>n)m%n的余数为q,则较小的n与q的最大公约数,是m与n的最大公约数。递推下去,直到n%q=0,此时的n为最大公约数。
代码:
更相减损法
见代码: