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制作CSDN免积分下载器
Mar 10 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
python实现简单遗传算法
Mar 19 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
Python jieba库用法及实例解析
Nov 04 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
pycharm 关闭search everywhere的解决操作
Jan 15 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
关于Python中*args和**kwargs的深入理解
Aug 07 Python
Python中request的基本使用解决乱码问题
Apr 12 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
Ionic快速安装教程
2016/06/03 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
详解Django的CSRF认证实现
2018/10/09 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
为什么要做架构设计
2015/07/08 面试题
node中使用shell脚本的方法步骤
2021/03/23 Javascript
最新的大学生找工作自我评价
2013/09/29 职场文书
成人毕业生自我鉴定
2013/10/18 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
社团招新策划书
2014/02/04 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
党员理论学习心得体会
2016/01/21 职场文书
Spring实现内置监听器
2021/07/09 Java/Android
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript