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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
Python自动扫雷实现方法
Jul 25 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
对python中执行DOS命令的3种方法总结
May 12 Python
python+opencv实现阈值分割
Dec 26 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
python写一个随机点名软件的实例
Nov 28 Python
Tensorflow Summary用法学习笔记
Jan 10 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
python随机打印成绩排名表
Jun 23 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 COOKIE及时生效的方法介绍
2014/02/14 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
微信小程序实现轮播图效果
2017/09/07 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
优秀员工自荐书
2013/12/19 职场文书
业务部经理岗位职责
2014/01/04 职场文书
人事档案接收函
2014/01/12 职场文书
身份证丢失证明
2015/06/19 职场文书
天气温馨提示语
2015/07/14 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL