Python返回两个数的最大公约数
时间: 2024-02-16 08:56:42 浏览: 41
Python可以使用欧几里得算法(辗转相除法)来返回两个数的最大公约数。该算法的递归版本实现如下:
```python
def gcd(p, q):
if q == 0:
return p
return gcd(q, p % q)
```
其中,p和q为需要求最大公约数的两个数。该函数会递归调用自身,直到q等于0,此时返回p。否则,返回q和p%q的最大公约数。
示例调用:
```python
print(gcd(24, 36)) # 输出12
```
相关问题
python函数返回两个数的最大公约数
可以使用欧几里得算法来实现:
```python
def gcd(a,b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
该函数接受两个参数a和b,并递归地调用gcd函数,直到b为0为止。当b为0时,a就是最大公约数,所以将a返回。如果b不为0,则将b和a%b作为参数再次调用gcd函数。
用python求两个数的最大公约数
用Python求两个数的最大公约数可以使用欧几里得算法,也就是辗转相除法。该方法通过递归实现,具体步骤如下:
1. 如果其中一个数为0,那么另一个数就是最大公约数,返回该数。
2. 判断两个数的大小关系,如果第一个数大于第二个数,交换位置。
3. 计算两个数的余数,即 x % y。
4. 如果余数为0,那么第二个数就是最大公约数,返回该数。
5. 如果余数不为0,将第一个数更新为第二个数,第二个数更新为余数,然后继续执行步骤3。
下面是用Python实现欧几里得算法的代码示例:
```python
def gcd(x, y):
if y == 0:
return x
if x > y:
x, y = y, x
return gcd(y, x % y)
```