Python实现利用最大公约数求三个正整数的最小公倍数示例

 更新时间:2017年09月30日 15:18:47   作者:WoodenRain  
这篇文章主要介绍了Python实现利用最大公约数求三个正整数的最小公倍数,涉及Python数学运算相关操作技巧,需要的朋友可以参考下

本文实例讲述了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.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 程序猿新手学习必备的Python工具整合

    程序猿新手学习必备的Python工具整合

    这篇文章主要介绍了程序猿新手必备的Python工具整合,Python 是一种开源编程语言,用于 Web 编程、数据科学、人工智能和许多科学应用
    2021-09-09
  • 使用python实现一个简单ping pong服务器

    使用python实现一个简单ping pong服务器

    这篇文章主要为大家介绍了使用python实现一个简单ping pong服务器,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 浅谈Python响应式类库RxPy

    浅谈Python响应式类库RxPy

    RxPy是非常流行的响应式框架Reactive X的Python版本,其实这些版本都是一样的,只不过是各个语言的实现不同而已。因此,如果学会了其中一种,那么使用其他的响应式版本也是轻而易举的
    2021-06-06
  • 总结Python变量的相关知识

    总结Python变量的相关知识

    今天给大家带来的是关于Python基础的相关知识,文章围绕着Python变量的相关知识展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python制作一个WiFi密码测试工具

    Python制作一个WiFi密码测试工具

    这篇文章主要为大家详细介绍了Python如何通过字典攻击方式帮助用户测试 Wi-Fi 网络的安全性,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-01-01
  • Python代码块批量添加Tab缩进的方法

    Python代码块批量添加Tab缩进的方法

    今天小编就为大家分享一篇Python代码块批量添加Tab缩进的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 在python中实现强制关闭线程的示例

    在python中实现强制关闭线程的示例

    今天小编就为大家分享一篇在python中实现强制关闭线程的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python操作MongoDb数据库流程详解

    Python操作MongoDb数据库流程详解

    这篇文章主要介绍了Python操作MongoDb数据库流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)

    selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)

    这篇文章主要介绍了selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • yolov5训练时参数workers与batch-size的深入理解

    yolov5训练时参数workers与batch-size的深入理解

    最近再学习YOLOv3与YOLOv5训练数据集的具体步骤,几经波折终于实现了很好的效果,这篇文章主要给大家介绍了关于yolov5训练时参数workers与batch-size的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03

最新评论