编写程序,求两个数的最大公因数和最小公倍数
时间: 2023-10-28 19:12:01 浏览: 105
以下是Python的实现:
```python
def gcd(a, b):
"""
求最大公因数
"""
if b == 0:
return a
else:
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
```
解释:
我们使用辗转相除法求最大公因数,使用公式 `a * b = gcd(a, b) * lcm(a, b)` 来求最小公倍数。
相关问题
python输入两个数字 求两个数的最大公因数和最小公倍数
在Python中,你可以通过编写一个函数来计算两个数字的最大公约数(GCD)和最小公倍数(LCM)。这里是一个简单的示例:
```python
import math
def gcd_lcm(a, b):
# 计算最大公约数 (GCD)
def gcd(x, y):
while(y):
x, y = y, x % y
return x
# 根据公式 LCM(a, b) = |a * b| / GCD(a, b)
lcm = abs(a * b) // gcd(a, b)
return gcd(a, b), lcm
# 获取用户输入
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
gcd_result, lcm_result = gcd_lcm(num1, num2)
print(f"两个数字 {num1} 和 {num2} 的最大公约数是: {gcd_result}")
print(f"它们的最小公倍数是: {lcm_result}")
python1.编写函数,求两数的最大公因数与最小公倍数
在Python中,我们可以使用辗转相除法(也叫欧几里得算法)来计算两个数的最大公约数(Greatest Common Divisor,简称GCD),然后利用公式 `lcm(a, b) = |a * b| / gcd(a, b)` 来找到它们的最小公倍数(Least Common Multiple,简称LCM)。以下是相应的函数实现:
```python
def gcd(a, b):
"""Euclidean algorithm to find the GCD of two numbers."""
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
"""Calculate the LCM using the formula lcm(a, b) = |a * b| / gcd(a, b)."""
return abs(a * b) // gcd(a, b)
# 使用示例
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
gcd_value = gcd(num1, num2)
lcm_value = lcm(num1, num2)
print(f"最大公约数 (GCD): {gcd_value}")
print(f"最小公倍数 (LCM): {lcm_value}")
阅读全文