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版的文曲星猜数字游戏代码
Sep 02 Python
Python多进程同步简单实现代码
Apr 27 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
python3 拼接字符串的7种方法
Sep 12 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
python实现静态web服务器
Sep 03 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
python的time模块和datetime模块实例解析
Nov 29 Python
python interpolate插值实例
Jul 06 Python
python如何删除列为空的行
Jul 17 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中static 静态变量和普通变量的区别
2016/12/01 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
Javascript里使用Dom操作Xml
2006/09/20 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python中的yield使用方法
2014/02/11 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python调用fortran模块
2016/04/08 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
2014年学校办公室工作总结
2014/12/19 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis