Python写个函数利用递归求最大公约数
时间: 2023-11-29 13:07:17 浏览: 26
好的,以下是一个利用递归求最大公约数的 Python 函数:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
这个函数的递归思路是,如果 b 等于 0,那么 a 就是最大公约数,直接返回;否则,继续递归调用 gcd 函数,将 b 和 a 对 b 取模的结果作为参数传入。这样,每次递归调用都能将问题规模缩小,最终得到最大公约数。
相关问题
python利用递归求最大公约数的代码
下面是Python利用递归求最大公约数的代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
其中,`a`和`b`分别为需要求最大公约数的两个整数。在函数中,首先判断`b`是否等于0,如果是,直接返回`a`;否则,返回`gcd(b, a % b)`,其中`a % b`是`a`除以`b`的余数,即`a`对`b`取模的结果。递归调用`gcd(b, a % b)`,直到`b`等于0,返回`a`。
用python函数写一个求最大公约数
以下是一个用Python函数实现求最大公约数的示例代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
这个函数使用了递归的方式来求最大公约数。如果b等于0,那么a就是最大公约数。否则,我们可以用a除以b的余数来代替a,b来代替a % b,然后再次调用函数。这个过程会一直进行下去,直到b等于0,此时a就是最大公约数。
我们可以调用这个函数来计算任意两个数的最大公约数,例如:
```python
print(gcd(12, 18)) # 输出6
print(gcd(8, 12)) # 输出4
print(gcd(24, 36)) # 输出12
```