利用辗转相除法求两个整数的最大公因数和最小公倍数
时间: 2023-09-23 13:04:45 浏览: 270
C语言求最大公约数和最小公倍数算法总结
5星 · 资源好评率100%
辗转相除法,也称欧几里得算法,是求两个非零整数最大公约数的一种方法。其基本思想是用较大的数除以较小的数,然后用余数代替较大的数,继续进行相同的操作,直到余数为零为止。此时,较小的数即为这两个数的最大公约数。
以下是利用辗转相除法求两个整数的最大公因数和最小公倍数的示例代码:
```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()函数用来计算最小公倍数。
例如,对于整数21和14,最大公因数为7,最小公倍数为42,可以通过以下代码计算得出:
```python
a = 21
b = 14
print("最大公因数:", gcd(a,b))
print("最小公倍数:", lcm(a,b))
```
输出结果为:
```
最大公因数: 7
最小公倍数: 42
```
阅读全文