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解析模块(ConfigParser)使用方法
Dec 10 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 Python
Python读取网页内容的方法
Jul 30 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
Python enumerate索引迭代代码解析
Jan 19 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
使用Python制作自动推送微信消息提醒的备忘录功能
Sep 06 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
Python3内置模块random随机方法小结
Jul 13 Python
Django如何实现密码错误报错提醒
Sep 04 Python
Python3+Django get/post请求实现教程详解
Feb 16 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
Zend Guard使用指南及问题处理
2015/01/07 PHP
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
python实现识别相似图片小结
2016/02/22 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python实现高斯投影正反算方式
2020/01/17 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
学生处主任岗位职责
2013/12/01 职场文书
教师一岗双责责任书
2014/04/16 职场文书
什么是就业协议书
2014/04/17 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
2014年教研室工作总结
2014/12/06 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
人事聘任通知
2015/04/21 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android