假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公约数为1
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。

下面给个实例,题目是《Python语言程序设计》这本书第四章的课后题
最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。
代码是自己写的,感觉有些冗余,仅供参考:

a=eval(input('请输入一个数:'))
b=eval(input('请输入另一个数:'))
d=a*b
if a>b:while a%b!=0:c=a%ba=bb=ce=int(d/b)print('两个数的最大公约数为:'+str(b)+'\n两个数的最小公倍数为:'+str(e))elif a<b:while b%a!=0:c=b%ab=aa=ce=int(d/a)print('两个数的最大公约数为:'+str(a)+'\n两个数的最小公倍数为:'+str(e))
else:print('最大公约数与最小公倍数都是'+str(a))

部分运行结果如下,看起来还可以。要更加完善的话可以及加上while可持续输入和break切出功能,以及加个try except处理输入类型不正确的情况,不至于把Traceback暴露在用户面前:

>>>
============================================================================== RESTART: C:/Users/matebook/Desktop/Python练习/hw4.2.py =============================================================================
请输入一个数:12
请输入另一个数:10
两个数的最大公约数为:2
两个数的最小公倍数为:60
>>>
============================================================================== RESTART: C:/Users/matebook/Desktop/Python练习/hw4.2.py =============================================================================
请输入一个数:10
请输入另一个数:12
两个数的最大公约数为:2
两个数的最小公倍数为:60
>>>
============================================================================== RESTART: C:/Users/matebook/Desktop/Python练习/hw4.2.py =============================================================================
请输入一个数:10
请输入另一个数:10
最大公约数与最小公倍数都是10
>>>

欧几里得算法(辗转相除法)求最大公约数,原理及实例相关推荐

  1. 辗转相除法求最大公约数原理分析(附代码实现)

    辗转相除法求最大公约数原理分析(附代码实现) 前言 解释 原理分析 代码 结语 前言 辗转相除法用起来很简单,但是其原理却自己想不明白.于是乎看了几篇有关辗转相除法原理的分析,在这里自己写下自己的理解 ...

  2. php 辗转相除法,手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法...

    手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法 缘起 最近阅读<>([日]石田保辉:宫崎修一) 本系列笔记拟采用golang练习之 欧几里得算法欧几里得算法(又 ...

  3. 利用辗转相除法——求最大公约数(详解)

    辗转相除法 求最大公约数: 给定两个数,求这两个数的最大公约数 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数.应用领域有数学和计算机两个方面.计算公式gcd(a,b) = g ...

  4. 多项式辗转相除法求最大公约数_辗转相除法求最大公约数

    辗转相除法求最大公约数 约数 如果数 a 能被数 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数. 最大公约数 最大公约数就是两个数中,大家都能相约且最大的数. 辗转相除法 辗转相除法又名欧 ...

  5. c语言辗转相除法约分分数,更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)...

    假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m* ...

  6. python辗转相除法求最大公约数最小公倍数_辗转相除法求最大公约数/最小公倍数...

    http://blog.csdn.net/jtujtujtu/article/details/4407171 2009 辗转相除法求最大公约数: 辗转相除法, 又名欧几里德算法(Euclidean a ...

  7. 初等数论--整除--欧几里得算法/辗转相除法/更相减损术

    初等数论--整除--欧几里得算法/辗转相除法/更相减损术 欧几里得算法/辗转相除法/更相减损术 博主本人是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理.算法,加深记忆也方便日后查找 ...

  8. 扩展欧几里得算法(求逆元)

    扩展欧几里得算法(求逆元)总结 1.在RSA算法生成私钥的过程中涉及到了扩展欧几里得算法(简称exgcd),用来求解模的逆元. 2.首先引入逆元的概念: 逆元是模运算中的一个概念,我们通常说 A 是 ...

  9. leetcode----1447.最简分数(辗转相除法求最大公约数)

    1447.最简分数 问题:给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n 的 最简 分数 .分数可以以 任意 顺序返回. 示例: 输入:n = 2 输出: ...

  10. P30-P32:逻辑类型,保留小数的输出,辗转相除法求最大公约数

    ** P30-P32(逻辑类型,保留小数的输出,辗转相除法求最大公约数): ** boolean 代码作用如同上述代码中的isPrime,会用到boolean,将isPrime的int类型改为逻辑类型 ...

最新文章

  1. NVIDIA TensorRT:可编程推理加速器
  2. R语言使用caretEnsemble包的caretList函数一次性构建多个机器学习模型、使用lattice包的bwplot函数使用箱图对比多个模型在多个指标上的性能差异
  3. android 定位 闪退_Android使用百度地图出现闪退及定位时显示蓝屏问题
  4. 网络计算机无法访问 请检查,局域网电脑无法访问,请检查来宾访问帐号是否开通...
  5. 华为手机怎么下载linux命令,在linux命令
  6. vant-UI组件初使用:浅谈 - 解说篇
  7. 微信小程序 navigator 用来实现页面跳转功能
  8. 详细说说ActionScript中function的call()方法和apply()方法
  9. MySQL外键没作用_MySQL 外键索引不生效
  10. Flutter格式化电话号码
  11. 如何在VC下将mak文件导入 .
  12. html5 等比压缩图片,图片上传裁剪amp;等比缩放处理(html5+Canvas)
  13. 在HTML中怎么画一条直线
  14. macOS_Catalina_10.15.7_19H15可引导可虚拟机安装的纯净版苹果OS系统ISO镜像安装包免费下载
  15. c++primer plus 6 读书笔记 第四章 复合类型
  16. 单片机流星灯_LED流星雨灯的制作(51单片机程序代码)
  17. C#pingpong输出
  18. 【91xcz】想在Win8里了解各种炒股资讯吗
  19. linux-mv命令使用
  20. 【软件测试基本流程】

热门文章

  1. pytesseract识别数字
  2. Unity清除一个物体所有的子物体
  3. 20181224每日一句
  4. Atitit 学习方法 补充 艾龙 著 attilax著 1. Atitit 学习的方法 attilax总结 1 1.1. 2. 基于学习策略的分类 2 2 1.2. 3. 基于所获取知识的表示形
  5. Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁。 2 2. 锁得类型 3 2.1. 排它锁 “互斥锁 共享锁 乐观锁与悲观锁 乐观锁:
  6. atiitt it学科体系化 体系树与知识点概念大总结.xlsx
  7. Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx
  8. atitit.LimeSurvey 安装 attilax 总结
  9. paip.undefined reference to MainWindow::xxx from moc_mainwindow.cpp错误解决
  10. Python: Flask后端与webapi