#枚举法
def MJFg_c_d(a,b):big=max(a,b)small=min(a,b)if big % small == 0:return smallfor i in range(small//2, 1, -1):if small % i == 0 and big % i == 0:return ireturn 1
def MJFl_c_m(a,b):big=max(a,b)small=min(a,b)if big%small==0:return bigfor i in range(big,small*big+1):if i%small==0 and i%big==0:return i
print('(21,49)枚举法:最大公约数',MJFg_c_d(21,49),'最小公倍数',MJFl_c_m(21,49))#辗转相除法
def ZZXCFg_c_d(a,b):big=max(a,b)small=min(a,b)if big%small==0:return smallreturn ZZXCFg_c_d(big%small,small)print('更相减损术(21,49)最大公约数为:',ZZXCFg_c_d(21,49))#更相减损术
def GXHCSg_c_d(a,b):if a==b:return abig = max(a, b)small = min(a, b)return GXHCSg_c_d(big-small,small)
print('更相减损术(21,49)最大公约数为:',GXHCSg_c_d(21,49))#短除法
a,b=21,49
m,n=a,b #  创建两个变量存储a和b
t=1 #  创建t作为最大公约数的载体
for i in range(2,min(a,b)):while (a%i==0 and b%i==0):t*=i #  所有公约数累乘起来a/=ib/=i
print('短除法',f"{m},{n}的最大公约数为:{t}")

运行结果图

python四种方法求最大公约数(枚举法,辗转相除法,更相减损术,短除法)相关推荐

  1. 【求最大公约数详解】更相减损术和辗转相除法

    更相减损术 介绍 ​   更相减损术是出自<九章算术>的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合 步骤 任意给定两个正整数:判断它们是否都是偶数 ...

  2. 求最大公约数和最小公倍数(更相减损法/辗转相除法)

    目录 一.最大公约数 1.1 更相减损法 1.2 辗转相除法 二.最小公倍数 2.1 最小公倍数=两数相乘/最大公约数 2.2 用较小数的倍数除以较大数 一.最大公约数 1.1 更相减损法 原理如下图 ...

  3. C语言四种方法求最大公约数

    一.实验要求 运行最大公约数的常用算法,并进行程序的调试与测试,要求程序设计风格良好,并添加异常处理模块. 二.实验方法(四种) 1.辗转相除法(欧几里德法) C语言中用于计算两个正整数a,b的最大公 ...

  4. Python使用更相减损术计算两个整数的最大公约数

    更相减损术是<九章算术>中给出的一种用于约分的方法,也可以用来计算最大公约数,其步骤为: 1)如果两个整数都是偶数,就使用2约简,直到两个整数不再都是偶数,然后执行第2步.如果两个整数不都 ...

  5. 更相减损法java代码_Python基于更相减损术实现求解最大公约数的方法

    本文实例讲述了Python基于更相减损术实现求解最大公约数的方法.分享给大家供大家参考,具体如下: 先从网上摘录一段算法的描述如下: 更相减损法:也叫 更相减损术,是出自< 九章算术>的一 ...

  6. 辗转相除法+更相减损法求最大公约数

    怎么求两个数的最大公约数呢? 简单的想法就是直接暴力枚举,试出最大公约数 #暴力枚举 #暴力枚举 def GCD(numberA,numberB):gcd=1for i in range(2,max( ...

  7. 《九章算术》中更相减损术----求最大公约数

    更相减损法:也叫更相减损术,是出自<九章算术>的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合. #include<stdio.h> in ...

  8. 求最大公约数和最小公倍数——辗转相除法(欧几里得算法)、更相减损术、stein算法

    辗转相除法-- 辗转相除法求最大公约数的原理: 两个整数其中较小的数 和 两数相除(较大数除较小数)的余数(使用递归)的最大公约数. 辗转相除法求最小公倍数的原理: 两个整数分别除以最大公约数的结果相 ...

  9. 求最大公约数(更相减损术辗转相除法)

    求解最大公约数的多种Way: 1 暴力解决法:M不断自减找到最大公约数. 2 辗转相除法:反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数. 3 更相减损术:若两者都为偶数,进行折半,直到 ...

  10. 辗转相除法与更相减损术(求最大公约数)

    辗转相除法:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约数. ...

最新文章

  1. 【连载】优秀程序员的45个习惯之42——允许大家自己想办法
  2. 安装bigsur卡在12分钟_Big Sur为什么安装不了?macOS Big Sur无法完成安装的解决办法!...
  3. qt构建json字符串的时候,某一个值为字符串
  4. 概率中的独立和不相关
  5. PHP在线教育平台源码 网课小程序源码
  6. tcp/ip协议详解
  7. ttf字体,简单获取
  8. 计算机毕业设计之社区自行车租赁管理系统
  9. 水印相机定位不准确怎么办_水印相机怎么定位位置
  10. MySQL: 为什么使用 innobackupex 备份恢复搭建主从时,必须人为设置 gtid_purged 变量
  11. mp-mtgsig 美团iOS 签名逆向工程分析
  12. 【前端小实战】页面文字搜索功能
  13. uni-app 使用 Uview2.x 搭建自定义tabbar组件
  14. 18对个人财富的窥视——对一款手机木马的解读及分析
  15. MODBUS-RTU数据帧格式、报文解析
  16. EBGP使用环回口建邻居用到ebgp-multihop和update source loopback
  17. C语言编程练习 1.按如下函数原型编写程序,用一个整型数组feedback保存调查的40个反馈意见。用函数编程计算反馈意见的平均数(Mean)、中位数(Median)和众数(Mode
  18. 从一个导出的DMP文件中,导入某一个表
  19. Python练习题10:长度转换
  20. learn python中文版 买_安装和准备 | Learn Python the Hard Way 中文版

热门文章

  1. 巧用python求解逻辑题,特简单!
  2. BD 之 逻辑题 赛马
  3. Verilog中$finish、$stop的使用与区别
  4. ic 主动均衡_分享几种锂电池均衡电路的工作原理
  5. 百度云c++语言模拟器,C++语言基础教程
  6. sm框架 访问局域网mysql_ssm框架搭建之sm框架整合
  7. java 多线程 串行 加锁_[Java并发编程实战] 线程安全
  8. 【MySQL】黑马教程MySQL数据库 MySQL基础(二)
  9. Chrome手势插件
  10. C ++ primer