python求三个整数的最小公约数
时间: 2024-01-23 18:40:55 浏览: 39
好的,让我来回答你的问题。可以使用欧几里得算法来求三个整数的最小公约数。代码如下:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return (a * b) // gcd(a, b)
def three_num_lcm(a, b, c):
return lcm(lcm(a, b), c)
a, b, c = 12, 24, 36
print(three_num_lcm(a, b, c)) # Output: 72
```
这段代码中,我们定义了一个求最大公约数的函数 `gcd` 和一个求最小公倍数的函数 `lcm`。然后,我们可以将三个整数的最小公倍数求出来,方法是先求出前两个数的最小公倍数,再将结果和第三个数求最小公倍数。
注意,这里我们假设 a、b、c 都是正整数,如果需要处理其他情况,可以根据具体情况进行修改。
相关问题
用while循环求三个整数的最小公约数
好的,我会根据您的要求回答您的问题。以下是使用while循环求三个整数最小公约数的Python代码:
```
def gcd(a, b):
while b:
a, b = b, a % b
return a
def gcd_three(a, b, c):
return gcd(gcd(a, b), c)
print(gcd_three(12, 18, 24)) # 输出:6
```
上述代码定义了`gcd()`函数,用于求两个整数的最大公约数,然后使用三个数的最小公约数可以通过多次调用`gcd()`函数来实现。
在`gcd_three()`函数中,我们首先求出前两个数`a`和`b`的最大公约数,再将其与第三个数`c`求最大公约数即可得到三个数的最小公约数。
此处使用while循环来实现求最大公约数的过程。
求三个的最大公约数和最小公倍数
以下是Python实现求三个正整数的最大公约数和最小公倍数的代码:
```python
import math
# 求最大公约数
def gcd(a, b):
return math.gcd(a, b)
def gcd_three(a, b, c):
return gcd(gcd(a, b), c)
# 求最小公倍数
def lcm(a, b):
return a * b // math.gcd(a, b)
def lcm_three(a, b, c):
return lcm(lcm(a, b), c)
# 示例
a, b, c = 12, 18, 24
print("三个数的最大公约数为:", gcd_three(a, b, c)) # 输出:6
print("三个数的最小公倍数为:", lcm_three(a, b, c)) # 输出:72
```