Python实现利用最大公约数求三个正整数的最小公倍数示例


Posted in Python onSeptember 30, 2017

本文实例讲述了Python实现利用最大公约数求三个正整数的最小公倍数。分享给大家供大家参考,具体如下:

在求解两个数的小公倍数的方法时,假设两个正整数分别为a、b的最小公倍数为d,最大公约数为c。存在这样的关系d=a*b/c。通过这个关系式,我们可以快速的求出三个正整数的最小公倍数。

def divisor(a,b):
  c = a%b
  while c>0:
    a=b
    b=c
    c=a%b
  return b
x1 = input("input1:")
x2 = input("input2:")
x3 = input("input3:")
x0 = x1*x2/divisor(x1,x2)
x0 = x0*x3/divisor(x0,x3)
print "the least multiple is:%d"%x0

通过函数divisor求解两个数的最大公约数,然后进行两次求解最小公倍数即可知道三个正整数x1、x2、x3的最小公倍数。

其实可以通过divisor1函数求两个数的最小公倍数,再进行嵌套调用实现三个数的最小公倍数。

divisor1函数如下:

def divisor1(a,b):
  a1 = a
  b1 = b
  c = a%b
  while c>0:
    a=b
    b=c
    c=a%b
  return a1*b1/b

嵌套过程如下:

x0 = divisor1(divisor1(x1,x2),x3)

可以求得三个正整数的最小公倍数。

Tip: a-bx=c,可知当一个数为a、b的公约数时,同时也是c的约数。

通过最大公约数即可得到最小公倍数的求解。

def min_multi(a,b):
  return a*b/divisor1(a,b)

求解质数的函数:

def isPrime(n):
  for i in range(2,int(n**0.5)+1):
    if n%i==0:
      return False
  return True

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
python re库的正则表达式入门学习教程
Mar 08 Python
简单了解python的一些位运算技巧
Jul 13 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
python 装饰器功能与用法案例详解
Mar 06 Python
pyinstaller打包找不到文件的问题解决
Apr 15 Python
用Python将库打包发布到pypi
Apr 13 Python
Python实现滑雪小游戏
Sep 25 Python
python中redis包操作数据库的教程
Apr 19 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 #Python
Python实现自动为照片添加日期并分类的方法
Sep 30 #Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 #Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 #Python
Python字符编码与函数的基本使用方法
Sep 30 #Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 #Python
深入浅出学习python装饰器
Sep 29 #Python
You might like
PHP实现批量上传单个文件
2015/12/29 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
vue项目上传Github预览的实现示例
2018/11/06 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
python中的随机函数小结
2018/01/27 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python代码区分大小写吗
2020/06/17 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
办公室助理岗位职责
2013/12/25 职场文书
财务管理职业生涯规划范文
2013/12/27 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
会计自荐信范文
2014/03/09 职场文书
护士医德医风自我评价
2014/09/15 职场文书
2014教师年度工作总结
2014/11/10 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
刘公岛导游词
2015/02/05 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
党员转正大会主持词
2015/07/02 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python