用python编程,用辗转相除法求两个数的最大公约数,最小公倍数
时间: 2024-02-04 10:43:12 浏览: 61
下面是用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)
# 测试
a, b = 36, 48
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 144
```
其中,`gcd()`函数用于求最大公约数,`lcm()`函数用于求最小公倍数。在`gcd()`函数中,我们通过使用`while`循环不断进行辗转相除,直到余数为0,此时的被除数就是两个数的最大公约数;而在`lcm()`函数中,则是通过两数相乘除以最大公约数来求得最小公倍数。
相关问题
使用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` 函数则使用最大公约数求最小公倍数。
Python求用辗转相除法求最大公约数和最小公倍数
Python中可以使用辗转相除法(也叫欧几里得算法)来计算两个整数的最大公约数(Greatest Common Divisor,简称GCD)。这是一种通过不断将较大的数除以较小的数,然后用余数替换较大数,直到余数为0为止,此时的较小数就是两数的最大公约数。
以下是一个简单的Python函数示例:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 示例
print(gcd(48, 18)) # 输出:6
```
对于求最小公倍数(Least Common Multiple,简称LCM),通常有以下公式:`lcm(a, b) = abs(a * b) // gcd(a, b)`。这是因为两个数的乘积等于它们的最大公约数和最小公倍数的乘积。
下面是计算最小公倍数的函数:
```python
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 示例
print(lcm(48, 18)) # 输出:144
```
阅读全文