• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

twilight0966

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

欧几里得算法

目录
  • 1.欧几里得算法说明
  • 2. 欧几里得算法伪代码
  • 3. 测试伪代码

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

posted on 2023-11-05 21:40  20231301周子昂  阅读(139)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3