最大公约数和最小公倍数 输入两个整数,输出它们的最大公约数和最小公倍数。 输入格式: 输入整数。 输出格式: 先输出最大公约数后输出最小公倍数,用逗号隔开
时间: 2024-10-21 16:14:02 浏览: 48
最大公约数(Greatest Common Divisor, GCD)是指两个或多个整数共有约数中最大的一个。而最小公倍数(Least Common Multiple, LCM)则是指能够同时被这些整数整除的最小正整数。
计算两个整数a和b的最大公约数和最小公倍数的一般步骤是:
1. **欧几里得算法**(辗转相除法)用于计算最大公约数:
- 如果b能整除a,则gcd(a, b) = b;
- 否则,gcd(a, b) = gcd(b, a % b),直到余数为0,此时b即为最大公约数。
2. **利用最大公约数计算最小公倍数**:
- 最小公倍数等于两数之积除以最大公约数,即 lcm(a, b) = |a * b| / gcd(a, b)。
下面是一个简单的Python示例来计算输入的两个整数的最大公约数和最小公倍数:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 示例输入
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))
result = f"{gcd(num1, num2)}, {lcm(num1, num2)}"
print(result)
```
相关问题
求两数的最大公约数和最小公倍数 输入两个正整数m和n,求其最大公约数和最小公倍数 输入说明: 两个正整数 输出说明: 最大公约数最小公倍数
以下是求两数的最大公约数和最小公倍数的Python代码:
```python
def gcd(a, b):
"""
求a和b的最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
"""
求a和b的最小公倍数
"""
return a * b // gcd(a, b)
m, n = map(int, input().split())
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
输入两个正整数m和n,求其最大公约数和最小公倍数。 输入格式: 请输入第一个正整数 m: 请输入第二个正整数 n: 输出格式: 最大公约数为:4 最小公倍数为:48 输入样例: 12 16 输出样例: 最大公约数为:4 最小公倍数为:48
以下是一个Python的实现代码:
```python
m = int(input("请输入第一个正整数 m:"))
n = int(input("请输入第二个正整数 n:"))
# 求最大公约数
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
# 求最小公倍数
def lcm(x, y):
return x * y // gcd(x, y)
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
运行结果:
```
请输入第一个正整数 m:12
请输入第二个正整数 n:16
最大公约数为: 4
最小公倍数为: 48
```
阅读全文