自定义函数实现辗转相除法, 返回两个整数的最大公约数。 答题卡
时间: 2024-03-21 08:40:30 浏览: 144
好的,以下是实现辗转相除法求最大公约数的 Python 函数:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
这个函数名为 `gcd`,它接受两个整数 `a` 和 `b` 作为参数,并返回它们的最大公约数。在函数内部,我们使用递归来实现辗转相除法求解最大公约数,直到 `b` 为 0 时停止递归,此时 `a` 即为最大公约数。
您可以这样调用函数:
```python
print(gcd(24, 36)) # 输出 12
```
希望这个答案对您有所帮助。
相关问题
辗转相除法求两个整数的最大公约数c++
辗转相除法,也称为欧几里得算法,是一种计算两个整数最大公约数的经典方法。在 C++ 中,你可以通过递归的方式来实现。以下是简单的步骤:
1. 定义一个函数 `gcd`,接受两个整数参数 `a` 和 `b`。
2. 如果 `b` 等于0,则返回 `a` 作为最大公约数(因为任何数与0的最大公约数都是它本身)。
3. 否则,递归地调用 `gcd` 函数,传入 `b` 和 `a % b`(即 a 除以 b 的余数),这是欧几里得算法的核心步骤,因为最大公约数等于 b 和 a%b 的最大公约数。
4. 返回上述递归过程的结果。
下面是简单的 C++ 代码示例:
```cpp
#include <iostream>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int num1, num2;
std::cout << "请输入两个整数: ";
std::cin >> num1 >> num2;
int result = gcd(num1, num2);
std::cout << "这两个数的最大公约数是: " << result << std::endl;
return 0;
}
```
用辗转相除法求两个整数的最大公约数
以下是使用辗转相除法求两个整数的最大公约数的Python代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 示例
print(gcd(24, 36)) # 输出:12
```
在这个代码中,我们定义了一个名为`gcd`的函数,它接受两个整数`a`和`b`作为参数。如果`b`等于0,则返回`a`,否则递归调用`gcd`函数,将`b`和`a%b`作为参数传递给它。这个过程会一直持续到`b`等于0,此时`a`就是最大公约数。
阅读全文