用python写程序求三个数的最大公约数
时间: 2023-10-29 13:07:56 浏览: 89
好的,以下是Python代码:
```python
def gcd(a, b):
if not b:
return a
return gcd(b, a % b)
def gcd_three(a, b, c):
return gcd(gcd(a, b), c)
a, b, c = 24, 36, 48
print(gcd_three(a, b, c)) # Output: 12
```
以上代码实现了求三个数的最大公约数。在这里,我们使用了递归函数 `gcd` 求出两个数的最大公约数,然后又把结果同第三个数一起求最大公约数。
相关问题
python求三个数的最大公约数的完整程序
在Python中,我们可以使用欧几里得算法(也称为辗转相除法)来计算三个数的最大公约数(Greatest Common Divisor, GCD)。这个算法基于这样一个原理:对于任意整数a、b,它们的最大公约数等于a除以b的余数c与b之间的最大公约数。下面是一个完整的示例程序:
```python
def gcd(a, b):
# 如果b为0,那么a就是最大公约数
if b == 0:
return a
else:
# 使用递归计算gcd
return gcd(b, a % b)
# 计算三个数的最大公约数
def lcm三個_number(a, b, c):
# 先计算前两个数的最大公约数
g = gcd(a, b)
# 然后计算这个最大公约数与第三个数的最大公约数
return (a * b * c) // g
# 测试例子
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
num3 = int(input("请输入第三个数字: "))
lcm_result = lcm(num1, num2, num3)
print(f"这三个数 {num1}, {num2} 和 {num3} 的最小公倍数(LCM)是: ", lcm_result)
Python中用while循环求三个数的最大公约数
好的,让我来回答你的问题:
在 Python 中,可以用以下的方式使用 while 循环求三个数的最大公约数:
```python
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
num3 = int(input("请输入第三个数:"))
# 首先求出两个数的最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
res = gcd(num1, num2)
res = gcd(res, num3)
print("三个数的最大公约数为:", res)
```
这个程序中,我们首先实现了一个求两个数的最大公约数的函数 gcd(),然后使用这个函数求出了三个数的最大公约数。在 while 循环中,我们使用了 Python 的条件表达式 a % b 来更新 a 和 b 的值,直到 b 的值为 0。最后返回 a 的值,即为两个数的最大公约数。
希望我的解答能够帮助到你!
阅读全文