求两个正整数的最小公倍
时间: 2024-03-20 18:39:15 浏览: 13
两个正整数的最小公倍数可以通过它们的最大公约数求得。求最大公约数的方法有很多,比如辗转相除法、更相减损法等。以下是使用辗转相除法求两个正整数的最小公倍数的示例代码(Python实现):
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
a = 12
b = 18
print(lcm(a, b)) # 输出 36
```
在这个示例中,我们先定义了一个求最大公约数的函数gcd,然后使用这个函数计算出a和b的最大公约数。最后,我们使用两个数的乘积除以它们的最大公约数,就可以得到它们的最小公倍数。
相关问题
求任意两个正整数的最小公倍
求任意两个正整数的最小公倍数可以通过它们的最大公约数求得。以下是使用辗转相除法求任意两个正整数的最小公倍数的示例代码(Python实现):
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
a = 12
b = 18
print(lcm(a, b)) # 输出 36
c = 20
d = 30
print(lcm(c, d)) # 输出 60
```
在这个示例中,我们先定义了一个求最大公约数的函数gcd,然后使用这个函数计算出两对数的最大公约数。最后,我们使用两个数的乘积除以它们的最大公约数,就可以得到它们的最小公倍数。
求两个正整数的最小公倍数
好的,下面是一个求两个正整数最小公倍数的 Python 函数:
```python
def lcm(a, b):
"""
计算两个正整数的最小公倍数
"""
# 先求出两个数的最大公约数
def gcd(x, y):
while y:
x, y = y, x % y
return x
# 最小公倍数为两数之积除以最大公约数
return a * b // gcd(a, b)
```
使用示例:
```python
>>> lcm(6, 9)
18
>>> lcm(12, 18)
36
>>> lcm(8, 12)
24
```
这个函数先通过辗转相除法求出两个数的最大公约数,然后用两个数的积除以最大公约数得到最小公倍数。