用python写出两个整数的最大公约数和最小公倍数
时间: 2024-03-09 21:21:18 浏览: 74
最大公约数可以使用欧几里得算法(辗转相除法)实现,最小公倍数可以通过两个整数的乘积除以它们的最大公约数得到。代码如下:
```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)
a = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果:
```
最大公约数: 12
最小公倍数: 72
```
相关问题
python计算两个整数最大公约数和最小公倍数
在Python中,我们可以使用math库中的gcd函数来计算两个整数的最大公约数(Greatest Common Divisor, GCD),以及一些基本的数学原理来求取最小公倍数(Least Common Multiple, LCM)。下面是计算两个整数最大公约数和最小公倍数的方法:
1. 计算最大公约数 (GCD):
```python
import math
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
a = 48
b = 18
print(f"最大公约数(GCD): {gcd(a, b)}")
```
2. 计算最小公倍数 (LCM):
通常,两个数的乘积等于它们的最大公约数与最小公倍数之积,即 `a * b = GCD(a, b) * LCM(a, b)`。因此,一旦有了GCD,我们就可以通过下面的方式计算LCM:
```python
lcm = abs(a * b) // gcd(a, b)
print(f"最小公倍数(LCM): {lcm}")
```
如果需要一个通用的计算LCM函数,可以这样做:
```python
def lcm_two_numbers(a, b):
def lcm_two_numbers_helper(x, y):
return x * y // gcd(x, y)
return lcm_two_numbers_helper(a, b)
# 使用上面的gcd函数计算LCM
lcm_value = lcm_two_numbers(a, b)
```
Python写出计算两个正整数最大公约数和最小公倍数的函数
可以使用辗转相除法来计算最大公约数,最小公倍数可以通过两数乘积除以最大公约数来计算。以下是Python实现:
```python
def gcd(x, y):
while y:
x, y = y, x % y
return x
def lcm(x, y):
return x * y // gcd(x, y)
```
这里的`gcd`函数通过不断取模的方式计算最大公约数,`lcm`函数则先计算出最大公约数,然后用两数乘积除以最大公约数得到最小公倍数。
阅读全文