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中的作用域规则详解
Jan 30 Python
使用Python操作Elasticsearch数据索引的教程
Apr 08 Python
Python字符串处理之count()方法的使用
May 18 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
Python引用传值概念与用法实例小结
Oct 07 Python
python 重定向获取真实url的方法
May 11 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 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怎样调用MSSQL的存储过程
2006/10/09 PHP
聊天室php&mysql(二)
2006/10/09 PHP
PHP 数组教程 定义数组
2009/10/23 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
详解PHP PDO简单教程
2019/05/28 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
使用js画图之饼图
2015/01/12 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
python导入时小括号大作用
2017/01/10 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
司机检讨书
2014/02/13 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
医院保洁服务方案
2014/06/11 职场文书
开服装店计划书
2014/08/15 职场文书
在职证明范本
2015/06/15 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
python内置模块之上下文管理contextlib
2022/06/14 Python