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 相关文章推荐
python实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
Python判断操作系统类型代码分享
Nov 22 Python
python中input()与raw_input()的区别分析
Feb 27 Python
python数据类型_字符串常用操作(详解)
May 30 Python
Selenium的使用详解
Oct 19 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 Python
python如何更新包
Jun 11 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
用Python实现屏幕截图详解
Jan 22 Python
实战Python爬虫爬取酷我音乐
Apr 11 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表单请求获得数据求和示例
2014/05/15 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
javascript生成随机数的方法
2014/05/16 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
Underscore源码分析
2015/12/30 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
python实现俄罗斯方块
2018/06/26 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python字符串对象实现原理详解
2019/07/01 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
物业经理求职自我评价
2013/09/22 职场文书
迎元旦广播稿
2014/02/22 职场文书
静心口服夜广告词
2014/03/20 职场文书
婚前协议书范本
2014/10/27 职场文书
特此通知格式
2015/04/27 职场文书
小学教育见习总结
2015/06/23 职场文书
学校运动会感想
2015/08/10 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
pytorch中的model.eval()和BN层的使用
2021/05/22 Python