python求从键盘输入的两个整数的最大公约数和最小公倍数
时间: 2024-10-14 08:17:54 浏览: 26
在Python中,可以使用欧几里得算法(也称辗转相除法)来计算两个整数的最大公约数(Greatest Common Divisor, GCD),然后利用最大公约数来计算最小公倍数(Least Common Multiple, LCM)。以下是简单的步骤:
1. **求最大公约数** (GCD):
- 定义函数 `gcd`,接受两个参数 `a` 和 `b`,其中 `b` 不为零(因为如果 `b` 等于0,那么最大公约数就是 `a`)。
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
2. **求最小公倍数** (LCM):
- 最小公倍数可以通过两个数乘积除以它们的最大公约数得到。
```python
def lcm(a, b):
return a * b // gcd(a, b)
```
3. **从用户输入获取整数** 并调用上述函数:
```python
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
print(f"最大公约数 (GCD) 是: {gcd(num1, num2)}")
print(f"最小公倍数 (LCM) 是: {lcm(num1, num2)}")
```
相关问题
用python 求键盘输入两整数的最大公约数和最小公倍数。
在Python中,求两个整数的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM),可以利用欧几里得算法(Euclidean Algorithm)来计算GCD,然后通过公式 `lcm(a, b) = abs(a * b) / gcd(a, b)` 来得到LCM。以下是步骤:
首先,我们需要编写一个函数来计算GCD:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
接着,我们创建另一个函数来计算LCM:
```python
def lcm(a, b):
return abs(a * b) // gcd(a, b)
```
最后,获取用户输入并计算最大公约数和最小公倍数:
```python
# 用户输入
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))
# 计算并打印结果
print(f"最大公约数 ({num1}, {num2}) = {gcd(num1, num2)}")
print(f"最小公倍数 ({num1}, {num2}) = {lcm(num1, num2)}")
```
运行这个程序,用户将能够输入两个整数,程序会输出它们的最大公约数和最小公倍数。
用Python编写函数,接收两个整数,求最大公约数和最小公倍数,并从键盘上输入两个整数,调用该函数计算两个整数的最大公约数和最小公倍数
好的,我明白了。以下是用Python编写的函数,可以接收两个整数,求最大公约数和最小公倍数,代码如下:
```python
def gcd_lcm(a, b):
"""
计算两个整数的最大公约数和最小公倍数
"""
# 求最大公约数
x, y = a, b
while y:
x, y = y, x % y
gcd = x
# 求最小公倍数
lcm = a * b // gcd
return gcd, lcm
# 从键盘上输入两个整数
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
# 调用函数计算最大公约数和最小公倍数
gcd, lcm = gcd_lcm(a, b)
# 输出结果
print("两个整数的最大公约数为:", gcd)
print("两个整数的最小公倍数为:", lcm)
```
你可以直接复制上述代码,并在Python环境中运行。输入任意两个整数后,程序会计算它们的最大公约数和最小公倍数,并输出结果。
请注意,这里使用了辗转相除法求最大公约数,同时利用最大公约数求最小公倍数的公式计算最小公倍数。
阅读全文