用python代码写一个求最大公约数的程序
时间: 2023-05-14 14:06:56 浏览: 167
以下是用 Python 编写求最大公约数的程序:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
你可以调用这个函数来计算两个数的最大公约数。例如,如果你想计算 12 和 18 的最大公约数,你可以这样做:
```python
print(gcd(12, 18))
```
这个程序将输出 6,因为 12 和 18 的最大公约数是 6。
相关问题
用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 = 12
num2 = 18
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
在这个程序中,`gcd()`函数使用递归来计算两个整数的最大公约数,`lcm()`函数则调用`gcd()`函数来计算最小公倍数。测试代码中给定了两个整数`num1`和`num2`,并分别调用了`gcd()`和`lcm()`函数来计算它们的最大公约数和最小公倍数。
输出结果:
```
最大公约数为: 6
最小公倍数为: 36
```
因此,对于整数12和18,最大公约数是6,最小公倍数是36。
python写一个程序 求两个数的最大公约数
可以使用辗转相除法求两个数的最大公约数。具体实现代码如下:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 示例
print(gcd(12, 18)) # 输出 6
print(gcd(24, 36)) # 输出 12
```
在这个程序中,我们定义了一个名为 `gcd` 的函数,该函数接受两个整数 `a` 和 `b` 作为参数,返回它们的最大公约数。在函数内部,我们使用递归的方式实现了辗转相除法。当 `b` 等于 0 时,递归结束,返回 `a`。否则,我们递归调用 `gcd` 函数,将 `b` 和 `a % b` 作为参数传入。
阅读全文