目录
1.欧几里得算法说明
欧几里德(Euclidean)算法的基本原理就是:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数。因此我们可以不断地将这两个数相减,用新两个数(前面的较小值与差值)替代初值求最大公约数。因此我们会很自然想到用循环来处理这个问题。而值得思考的是,如果一个数是另一个数的几十倍甚至几千倍,一直做差值是不是非常麻烦(比如10000和10),这时候我们应该想到求模运算,它可以代替多次减数相同的差运算,直接得到最终需要的差值(如, 10000 % 10 =0)。
2. 欧几里得算法伪代码
点击查看代码
Function euclideanAlgorithm(a, b):
while b!=0:
remainder = a%b
a = b
b = remainder
return a
3. 测试伪代码
1.测试数据1:a = 48,b = 18——预期结果:最大公约数是 6
计算过程:
(1)a = 48,b = 18,余数 = 12
(2)a = 18,b = 12,余数 = 6
(3)a = 12,b = 6,余数 = 0
2.测试数据2:a = 56,b = 48——预期结果:最大公约数是 8
计算过程:
(1)a = 56,b = 48,余数 = 8
(2)a = 48,b = 8,余数 = 0