欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python求最大公约数和最小公倍数的简单方法

时间:2021-06-11 08:06:25|栏目:Python代码|点击:

python怎么求最大公约数和最小公倍数

一、求最大公约数

用辗转相除法求最大公约数的算法如下:

两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约数。

具体代码如下:

def gongyue(a, b):

  """

  欧几里得算法----辗转相除法

  :param a: 第一个数

  :param b: 第二个数

  :return: 最大公约数

  """

  # 如果最终余数为0 公约数就计算出来了

  while(b!=0):

    temp = a % b

    a = b

    b = temp

  return a

二、求最小公倍数

求出a,b的最大公约数后,利用gongbei(a,b) = (a*b)/gongyue(a,b) 计算出两个数的最小公倍数:

# 求两个数的最小公倍数

def gongbei(a,b):

  return a * b / gongyue(a, b)

知识点补充

1. 求最小公倍数的算法:

最小公倍数 = 两个整数的乘积 / 最大公约数

所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下:

2. 求最大公约数算法:

① 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B

② 如果C等于0,则C就是整数A和整数B的最大公约数

③ 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2 两步,直到余数为0, 则可以得知最大公约数

上一篇:python 实现百度网盘非会员上传超过500个文件的方法

栏    目:Python代码

下一篇:浅谈numpy中函数resize与reshape,ravel与flatten的区别

本文标题:python求最大公约数和最小公倍数的简单方法

本文地址:http://www.codeinn.net/misctech/139518.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有