在两行中分别输入一个正整数M,N,在一行中依次输出M和N的最大公约数和最小公倍数两数字间以1个空格分隔 用Python实现
时间: 2024-02-18 11:00:42 浏览: 92
好的,这是一个求最大公约数和最小公倍数的问题,以下是Python代码实现:
```python
# 输入M和N
M, N = map(int, input().split())
# 求最大公约数
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)
# 输出结果
print(gcd(M, N), lcm(M, N))
```
输入样例:
```
12 18
```
输出样例:
```
6 36
```
相关问题
python 【问题描述】 在两行中分别输入一个正整数M,N,输出这两个数的最大公约数和最小公倍数。 【输入形式】 在两行中分别输入一个正整数M,N 【输出形式】 在一行中依次输出M和N的最大公约数和最小公倍数,两数字间以1个空格分隔。 【样例输入] 4 6 【祥例输出】 212
在Python中,你可以使用math库中的gcd函数来计算两个数的最大公约数(Greatest Common Divisor, GCD),并利用公式 `(m * n) // gcd(m, n)` 来计算最小公倍数(Least Common Multiple, LCM)。以下是如何编写代码来解决这个问题:
```python
import math
def calculate_gcd_lcm(m, n):
# 计算最大公约数
gcd = math.gcd(m, n)
# 计算最小公倍数
lcm = m * n // gcd
return str(gcd), str(lcm)
# 获取用户输入
m = int(input("请输入第一个正整数 M:"))
n = int(input("请输入第二个正整数 N:"))
# 计算并输出结果
result = calculate_gcd_lcm(m, n)
print(f"{result[0]} {result[1]}")
# 示例输入:4 6
# 样例输出:2 12
```
如果你运行上述代码,并将输入设为4和6,会得到输出 `2 12`,这正是给定样例输入的结果。
在两行中分别输入一个正整数M,N,在一行中依次输出M和N的最大公约数和最小公倍数两数字间以1个空格分隔
好的,这是一个求最大公约数和最小公倍数的问题,以下是代码实现:
```python
# 输入M和N
M, N = map(int, input().split())
# 求最大公约数
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)
# 输出结果
print(gcd(M, N), lcm(M, N))
```
输入样例:
```
12 18
```
输出样例:
```
6 36
```
阅读全文