输入两个正整数,求这两个正整数的最大公约数和最小公倍数python
时间: 2024-12-24 14:37:33 浏览: 3
在Python中,计算两个正整数的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM),可以利用欧几里得算法(Euclidean Algorithm)来找到GCD,然后通过GCD和两个数相乘得到LCM。以下是简单的实现步骤:
首先,我们可以定义一个函数来计算GCD:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
接着,计算LCM可以用GCD的公式:`lcm(a, b) = |a * b| / gcd(a, b)`。由于我们通常只处理正数,所以不需要取绝对值。
这里是完整的代码示例:
```python
def lcm(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_value}")
print(f"这两个正整数的最小公倍数是: {lcm_value}")
相关问题
python输入两个正整数求最大公约数和最小公倍数
可以使用辗转相除法来求解最大公约数,而最小公倍数可以通过两数之积除以最大公约数来得到。
以下是Python代码实现:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最大公约数
def gcd(x, y):
if y == :
return x
else:
return gcd(y, x % y)
# 求最小公倍数
def lcm(x, y):
return x * y // gcd(x, y)
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(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)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
您可以直接运行这个程序,输入两个正整数,程序会输出它们的最大公约数和最小公倍数。
阅读全文