如何求任意两个正整数的最小公倍数python,不用python库
时间: 2023-05-25 12:04:28 浏览: 55
使用求两个数的最大公约数的方法可以求出它们的最小公倍数。
首先,定义一个函数来求两个数的最大公约数。可以使用辗转相除法实现。代码如下:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
接下来,使用如下公式求两个数的最小公倍数:
```
lcm(a, b) = a * b / gcd(a, b)
```
代码如下:
```python
def lcm(a, b):
return a * b // gcd(a, b)
```
最后,将这两个函数组合起来,得到求任意两个正整数的最小公倍数的函数:
```python
def lcm(a, b):
def gcd(a, b):
while b:
a, b = b, a % b
return a
return a * b // gcd(a, b)
```
举例:
```python
>>> lcm(6, 8)
24
>>> lcm(15, 25)
75
```
相关问题
python求两个正整数的最小公倍数
好的,以下是一个求两个正整数的最小公倍数的Python程序示例:
```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)
# 获取用户输入的两个正整数
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
# 调用函数求最小公倍数
result = lcm(num1, num2)
# 输出结果
print("输入的两个正整数的最小公倍数为:", result)
```
在这个代码中,我们首先定义了一个函数`gcd(a, b)`来求两个正整数a和b的最大公约数,使用了递归的方式来实现。然后我们定义了一个函数`lcm(a, b)`来求两个正整数a和b的最小公倍数,使用了公式`(a * b) // gcd(a, b)`来计算。最后,我们获取用户输入的两个正整数,调用函数`lcm()`来求出它们的最小公倍数,并将结果打印出来。
Python求两个正整数的最小公倍数
好的,以下是一个求两个正整数的最小公倍数的Python程序示例:
```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)
# 获取用户输入的两个正整数
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
# 调用函数求最小公倍数
result = lcm(num1, num2)
# 输出结果
print("输入的两个正整数的最小公倍数为:", result)
```
在这个代码中,我们首先定义了一个函数`gcd(a, b)`来求两个正整数a和b的最大公约数,使用了递归的方式来实现。然后我们定义了一个函数`lcm(a, b)`来求两个正整数a和b的最小公倍数,使用了公式`(a * b) // gcd(a, b)`来计算。最后,我们获取用户输入的两个正整数,调用函数`lcm()`来求出它们的最小公倍数,并将结果打印出来。