python最大公约数 最小公倍数计算注释
时间: 2023-05-17 07:04:50 浏览: 126
以下是 Python 计算最大公约数和最小公倍数的代码,附有注释:
```python
def gcd(a, b):
"""
计算 a 和 b 的最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
"""
计算 a 和 b 的最小公倍数
"""
return a * b // gcd(a, b)
```
其中,`gcd` 函数使用了递归的方式计算最大公约数,如果 `b` 等于 0,则返回 `a`,否则返回 `b` 和 `a%b` 的最大公约数。`lcm` 函数则直接使用公式 `a*b/gcd(a,b)` 计算最小公倍数。
注意:这里的 `//` 是整除运算符,表示取整数部分的除法。
相关问题
Python最大公约数和最小公倍数计算
最大公约数和最小公倍数的计算可以使用多种方法。其中包括穷举法、辗转相减法和更相减损法等。下面是三种常见的计算方法:
方法一:穷举法
给定两个正整数a和b,首先判断它们是否都是偶数。如果是,就用2约简;如果不是,则执行第二步。以较大的数减去较小的数,然后将所得的差与较小的数比较,并以较大数减去较小数。继续这个操作,直到所得的减数和差相等为止。最后,第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。同时,最小公倍数可以通过两个数的乘积除以最大公约数来得到。
方法二:辗转相减法
给定两个正整数a和b,首先比较它们的大小,将较大的数赋值给a,将较小的数赋值给b。然后,用a除以b得到余数r,将b赋值给a,将r赋值给b。再次执行这个操作,直到余数r为0为止。此时,最大公约数就是非零的b,最小公倍数可以通过两个数的乘积除以最大公约数来得到。
方法三:更相减损法
给定两个正整数a和b,如果a和b都是偶数,就用2约简,然后更新a和b。如果不是偶数,就执行第二步。以较大的数减去较小的数,然后将所得的差与较小的数比较,并以较大数减去较小数。继续这个操作,直到所得的减数和差相等为止。最后,第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。同时,最小公倍数可以通过两个数的乘积除以最大公约数来得到。
最大公约数和最小公倍数计算python
在Python中计算最大公约数和最小公倍数,您可以使用math模块中的gcd和lcm函数。例如,以计算数字12和20的最大公约数和最小公倍数为例:
```python
import math
a = 12
b = 20
# 计算最大公约数
gcd = math.gcd(a, b)
print(gcd) # 输出:4
# 计算最小公倍数
lcm = a * b // gcd
print(lcm) # 输出:60
```
阅读全文