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 18 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
详解Python核心对象类型字符串
Feb 11 Python
python 接口返回的json字符串实例
Mar 27 Python
Python实现按中文排序的方法示例
Apr 25 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
余弦相似性计算及python代码实现过程解析
Sep 18 Python
什么是python的id函数
Jun 11 Python
python实现在列表中查找某个元素的下标示例
Nov 16 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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
我的论坛源代码(二)
2006/10/09 PHP
php记录日志的实现代码
2011/08/08 PHP
php实现文件下载更能介绍
2012/11/23 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
如何实现JS函数的重载
2006/09/22 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
分析python切片原理和方法
2017/12/19 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
Win8下python3.5.1安装教程
2020/07/29 Python
python 二维数组90度旋转的方法
2019/01/28 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
python集合能干吗
2020/07/19 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
市场营销专业自荐书
2014/06/10 职场文书
先进基层党组织材料
2014/12/25 职场文书
详解Python类和对象内容
2021/06/22 Python
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL