从品牌网站建设到网络营销策划,从策略到执行的一站式服务
最小公倍数=两整数的乘积÷最大公约数
成都创新互联专业为企业提供邹平网站建设、邹平做网站、邹平网站设计、邹平网站制作等企业网站建设、网页设计与制作、邹平企业网站模板建站服务,十余年邹平做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
思路:输入多个整数,依次两个数求最小公倍数,将前两个数的最小公倍数和下一个数再次求最小公倍数,求到最后就是结果
"""
def func(*args):
size = len(args)
idx = 1
i = args[0]
while idx size:
j = args[idx]
# 用辗转相除法求i,j的最大公约数m
b = i if i j else j # i,j中较小那个值
a = i if i j else j # i,j中较大那个值
r = b # a除以b的余数
while(r != 0):
r = a % b
if r != 0:
a = b
b = r
f = i*j/b # 两个数的最小公倍数
i = f
idx += 1
return f
一、求最大公约数
用辗转相除法求最大公约数的算法如下:
两个正整数a和b(ab),它们的最大公约数等于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)
先求出两个正整数的质数乘积(单独一个函数)。
参考输出,例:40返回值是{"2":3,"5":1}意思是2的3次方*5,就是合并,并且保留指数最大的就行。
def gcd(a, b): # 求最大公约数
x = a % b
while (x != 0):
a, b = b, x
x = a % b
return b
def lcm(a,b): # 求最小公倍数
return a*b//gcd(a,b)
扩展资料:
最小公倍数的适用范围:分数的加减法,中国剩余定理(正确的题在最小公倍数内有解,有唯一的解)。因为,素数是不能被1和自身数以外的其它数整除的数;素数X的N次方,是只能被X的N及以下次方,1和自身数整除。所以,给最小公倍数下一个定义:S个数的最小公倍数,为这S个数中所含素因子的最高次方之间的乘积。
参考资料来源:百度百科-最小公倍数
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图