求两个数的公约数,最大、公约数,最小公倍数代码
时间: 2024-03-26 10:38:49 浏览: 59
以下是求两个数的公约数、最大公约数和最小公倍数的 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)
# 求两个数的最小公倍数
def get_common_divisors(a, b):
common_divisors = []
for i in range(1, min(a, b) + 1):
if a % i == 0 and b % i == 0:
common_divisors.append(i)
return common_divisors
# 测试代码
a, b = 12, 18
print(get_common_divisors(a, b)) # 输出 [1, 2, 3, 6]
print(gcd(a, b)) # 输出 6
print(lcm(a, b)) # 输出 36
```
其中,`gcd()` 函数使用欧几里得算法求两个数的最大公约数,`lcm()` 函数则使用两个数的乘积除以它们的最大公约数来求最小公倍数。而 `get_common_divisors()` 函数则是求两个数的公约数,返回一个列表。
相关问题
求两个数最大公约数,最小公倍数代码
可以使用欧几里得算法(辗转相除法)来求解两个数的最大公约数,最小公倍数可以通过最大公约数求得。
以下是 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` 函数使用 while 循环实现了辗转相除法,`lcm` 函数则通过最大公约数求得最小公倍数。
示例用法:
```python
a = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 72
```
python求两个数最大公约数,最小公倍数代码
可以使用辗转相除法来求两个数的最大公约数,而最小公倍数可以通过最大公约数来计算。
下面是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)
```
使用示例:
```python
>>> gcd(24, 36)
12
>>> lcm(24, 36)
72
```
阅读全文