用python实现输入两个整数 a和b,输出它们的最大公约数和最小公倍数,采用辗转相除法和函数递归思想
时间: 2023-05-22 17:05:24 浏览: 124
C语言求最大公约数和最小公倍数算法总结
5星 · 资源好评率100%
好的,我会尽力回答你的问题。
以下是 Python 代码实现输入两个整数 a和b,输出它们的最大公约数和最小公倍数,采用辗转相除法和函数递归思想:
```python
def gcd(a, b):
"""
计算 a 和 b 的最大公约数
"""
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
"""
计算 a 和 b 的最小公倍数
"""
return a * b // gcd(a, b)
# 测试辗转相除法和函数递归的使用
a = int(input("请输入正整数 a: "))
b = int(input("请输入正整数 b: "))
print("a 和 b 的最大公约数是:", gcd(a, b))
print("a 和 b 的最小公倍数是:", lcm(a, b))
```
输入两个正整数 a 和 b,我们就可以调用 `gcd` 和 `lcm` 函数来计算它们的最大公约数和最小公倍数。其中 `gcd` 函数实现了辗转相除法,用递归的方式计算 a 和 b 的最大公约数;`lcm` 函数利用最大公约数求得最小公倍数。
阅读全文