用python写程序求三个数的最大公约数
时间: 2023-10-29 19:07:56 浏览: 50
好的,以下是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中用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 的值,即为两个数的最大公约数。
希望我的解答能够帮助到你!
三个数的最小公约数求法的python程序语言
以下是求三个数最小公约数的 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)
def lcm_three(a, b, c):
return lcm(lcm(a, b), c)
a = 12
b = 18
c = 24
print("三个数的最小公约数为:", lcm_three(a, b, c))
```
程序中,我们首先定义了 `gcd` 函数来求两个数的最大公约数,然后使用 `lcm` 函数求两个数的最小公倍数。最后,我们再定义一个 `lcm_three` 函数,用于求三个数的最小公倍数,这里我们依次求出前两个数的最小公倍数,再与第三个数求最小公倍数即可。
在程序中,我们假设三个数分别为 12、18 和 24,然后调用 `lcm_three` 函数来求它们的最小公倍数,并打印输出结果。