寻找最大公约数(辗转相除法,复杂度较低)
两数相除取余数,较小数与余数相除再取余,直到没有余数
n,m = map(int,input().split())
#求最大公约数gys
low = min(n,m)
up = max(n,m)
yu = up % low
while yu != 0:
up,low = low,yu
yu = up % low
gys = low
最小公倍数
n*m/最大公约数
使用辗转相除法寻找最大公约数与最小公倍数
这篇博客介绍了如何利用辗转相除法(欧几里得算法)来找到两个数的最大公约数(GCD),并以此为基础计算最小公倍数(LCM)。通过Python代码实现,过程包括不断相除取余数,直至余数为0,最后的除数即为最大公约数。然后用两数乘积除以最大公约数得到最小公倍数。
寻找最大公约数(辗转相除法,复杂度较低)
两数相除取余数,较小数与余数相除再取余,直到没有余数
n,m = map(int,input().split())
#求最大公约数gys
low = min(n,m)
up = max(n,m)
yu = up % low
while yu != 0:
up,low = low,yu
yu = up % low
gys = low
最小公倍数
n*m/最大公约数
2223
4964
8876
1027

被折叠的 条评论
为什么被折叠?