递归求最大公约数和最小公倍数
时间: 2023-09-14 12:09:19 浏览: 34
递归求最大公约数和最小公倍数的程序可以写成如下:
```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)
```
其中,`gcd()` 函数使用了辗转相除法求最大公约数,`lcm()` 函数则通过最大公约数求出最小公倍数。
调用示例:
```python
a = 24
b = 60
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果:
```
最大公约数: 12
最小公倍数: 120
```
相关问题
python中用递归找最大公约数和最小公倍数
可以使用递归函数来找最大公约数和最小公倍数。以下是示例代码:
```python
# 递归函数找最大公约数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
# 递归函数找最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
```
使用示例:
```python
a = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果:
```
最大公约数: 12
最小公倍数: 72
```
python递归求最大公约数和公倍数
可以使用递归来求最大公约数和公倍数。
最大公约数可以通过辗转相除法来实现:
```python
def gcd(a, b):
"""
递归求最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a % b)
```
公倍数可以通过最大公约数来求得:
```python
def lcm(a, b):
"""
递归求最小公倍数
"""
return a * b // gcd(a, b)
```
这里使用了 `//` 运算符来进行整除运算。
相关推荐















