python编写函数求最小公倍数
时间: 2023-11-15 17:10:06 浏览: 81
可以使用以下方式编写一个函数来计算最小公倍数:
```python
def lcm(x, y):
# 选择较大的数
if x > y:
greater = x
else:
greater = y
while True:
if greater % x == 0 and greater % y == 0:
lcm = greater
break
greater += 1
return lcm
```
该函数接受两个参数 x 和 y,然后选择较大的数作为基准值,不断递增基准值,直到找到同时能被 x 和 y 整除的数,这个数就是最小公倍数。最后将这个最小公倍数作为函数的返回值。
你可以使用以下代码来测试该函数:
```python
# 测试代码
print(lcm(4, 6)) # 12
print(lcm(15, 20)) # 60
print(lcm(7, 13)) # 91
```
输出结果应该分别是 12、60 和 91。
相关问题
python编写函数求最大公约数和最小公倍数。
Python 编写函数求最大公约数和最小公倍数可以使用 Euclidean 算法。首先,根据两个数字a和b,计算它们的最大公约数gcd(a,b),其次利用最大公约数计算出它们的最小公倍数:lcm(a,b)=a*b/gcd(a,b)。
python函数求最小公倍数
在Python中,你可以编写一个函数来计算两个或多个数的最小公倍数(LCM),通常可以使用辗转相除法(也称为欧几里得算法)来辅助找到最大公约数(GCD),然后利用公式 `lcm(a, b) = |a * b| / gcd(a, b)` 来计算。以下是函数的示例:
```python
import math
def lcm(*numbers):
def gcd(x, y):
while(y):
x, y = y, x % y
return x
# 对于多个数的情况,首先计算前两个数的LCM,然后再与下一个数求LCM,直到所有数都遍历完
result = numbers[0]
for i in range(1, len(numbers)):
result = abs(result * numbers[i] // gcd(result, numbers[i]))
return result
# 测试函数
print(lcm(4, 6)) # 输出: 12
print(lcm(7, 9, 14)) # 输出: 42
#
阅读全文