python中用辗转相除法求最大公约数
时间: 2023-09-21 17:11:09 浏览: 93
非常感谢您的提问!在Python中可以使用辗转相除法实现求最大公约数,代码如下:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a%b)
```
以上是回答您的问题,如果您有其他问题,欢迎继续提问。
相关问题
python中辗转相除法求最大公约数
辗转相除法是求解两个数的最大公约数的一种方法,也叫欧几里得算法。
在Python中,可以使用如下代码实现辗转相除法:
```
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
其中,a和b为要求最大公约数的两个数。递归调用gcd函数,直到b为0,此时a就是最大公约数。
例如,要求48和60的最大公约数,可以这样调用gcd函数:
```
print(gcd(48, 60))
```
输出结果为12,即48和60的最大公约数为12。
用python用辗转相除法求最大公约数与最小公倍数
可以使用以下代码来通过辗转相除法求最大公约数和最小公倍数:
```python
# 定义函数求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 定义函数求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 例子:求 18 和 24 的最大公约数和最小公倍数
a = 18
b = 24
print("18 和 24 的最大公约数为:", gcd(a, b))
print("18 和 24 的最小公倍数为:", lcm(a, b))
```
输出结果为:
```
18 和 24 的最大公约数为: 6
18 和 24 的最小公倍数为: 72
```
这里用到了 Python 的整数除法运算符 `//`,它可以返回整数的商,即去掉小数部分的除法结果。
阅读全文