python for 辗转相除法求两个数的最大公约数
时间: 2024-01-25 10:46:46 浏览: 80
下面是使用 Python 实现辗转相除法求两个数的最大公约数的代码:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
a = 24
b = 36
print("最大公约数为:", gcd(a, b))
```
输出结果为:
```
最大公约数为: 12
```
代码中,我们使用递归的方式实现了辗转相除法。首先判断 b 是否为 0,如果为 0,则 a 即为最大公约数;否则递归调用 gcd 函数,并将 b 和 a%b 作为参数传递。
相关问题
用Python的辗转相除法求两个数的最大公约数
可以使用以下代码实现辗转相除法求两个数的最大公约数:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
在这个函数中,我们使用一个 while 循环,每次将 b 赋值为 a 除以 b 的余数,同时将 a 赋值为原来的 b,直到 b 等于 0。最后,a 就是最大公约数。
例如,如果我们要求 12 和 18 的最大公约数,调用 gcd(12, 18) 就会返回 6。
用Python实现辗转相除法求两个数的最大公约数、及最大公倍数
可以使用以下代码实现:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
```
其中,gcd函数用于求最大公约数,lcm函数用于求最大公倍数。
阅读全文