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 相关文章推荐
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 Python
Python入门篇之字符串
Oct 17 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
python中format函数如何使用
Jun 22 Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 Python
Django url 路由匹配过程详解
Jan 22 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 高级课程笔记 面向对象
2009/06/21 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
乔迁之喜主持词
2014/03/27 职场文书
寄语学生的话
2014/04/10 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
财务会计实训报告
2014/11/05 职场文书
体育教师教学随笔
2015/08/15 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
python基础详解之if循环语句
2021/04/24 Python
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL