python实现最大公倍数
时间: 2023-10-05 20:06:40 浏览: 51
可以使用欧几里得算法(辗转相除法)来实现求最大公约数,然后通过最大公约数求出最大公倍数。
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
```
其中,`gcd`函数用于求最大公约数,`lcm`函数用于求最大公倍数。
相关问题
python求最小公倍数
您好,要求Python求最小公倍数,可以通过以下代码实现:
```Python
def lcm(a, b):
"""
求a和b的最小公倍数
"""
# 两数相乘除以最大公约数等于最小公倍数
return (a * b) // gcd(a, b)
def gcd(a, b):
"""
求a和b的最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a%b)
# 调用lcm函数
print(lcm(12, 18))
```
其中,lcm函数中通过调用gcd函数来求最大公约数,再利用两数相乘除以最大公约数等于最小公倍数的原理来求最小公倍数。在代码中,我假设您已经知道如何求最大公约数,并给出了一个求最小公倍数的示例。
希望能够帮到您!
python 求最小公倍数
可以使用以下代码来求两个正整数的最小公倍数:
```python
def lcm(x, y):
# 获取两个数中的较大数
greater = max(x, y)
while True:
if greater % x == and greater % y == :
lcm = greater
break
greater += 1
return lcm
```
其中,`x`和`y`分别为两个正整数,`greater`为两个数中的较大数。通过循环判断,找到最小的能同时被`x`和`y`整除的数,即为它们的最小公倍数。最后返回最小公倍数`lcm`即可。
阅读全文