编写程序辗转相除法求最大公约数的递归函数
时间: 2023-09-01 19:08:37 浏览: 94
好的,以下是用递归实现辗转相除法求最大公约数的 Python 代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 测试
print(gcd(12, 18)) # 输出6
print(gcd(25, 15)) # 输出5
```
这个函数的实现非常简单。如果 b 等于 0,那么 a 就是最大公约数。否则,我们需要用 a 除以 b 的余数来递归调用这个函数,直到 b 等于 0 为止。这个函数的时间复杂度是 O(log n),其中 n 是 a 和 b 的最大值。
相关问题
编写辗转相除法求最大公约数的递归函数
好的,以下是辗转相除法求最大公约数的递归函数的代码:
```C++
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
```
该函数递归地调用自己,直到 b = 0 时返回 a,即为最大公约数。
编写辗转相除法求最大公约数的递归函数。
以下是辗转相除法求最大公约数的递归函数的 Python 代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
函数接收两个参数 a 和 b,如果 b 等于 0,则返回 a,否则递归调用自身并传入参数 b 和 a%b(a 除以 b 的余数),直到 b 等于 0 时返回 a,这个 a 就是最大公约数。
阅读全文