欧几里得算法

发布时间 2023-11-05 21:41:58作者: 20231301周子昂

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