在两行中分别输入一个正整数M,N,输出这两个数的最大公约数和最小公倍数python实现
时间: 2024-05-02 22:23:05 浏览: 78
好的,我可以回答你的问题。以下是 Python 代码实现:
```python
M = int(input("请输入第一个正整数M: "))
N = int(input("请输入第二个正整数N: "))
#计算最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
#计算最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
print("最大公约数为:", gcd(M, N))
print("最小公倍数为:", lcm(M, N))
```
这段代码中,我们利用辗转相除法求出两个数的最大公约数,并利用最大公约数计算出最小公倍数。同时,我们根据用户输入的两个正整数来执行程序并得到最终结果。
相关问题
在两行中分别输入一个正整数M,N,输出这两个数的最大公约数和最小公倍数,以Python实现
好的,我可以帮你解决这个问题。下面是Python代码:
```
M = int(input("请输入正整数M:"))
N = int(input("请输入正整数N:"))
# 计算最大公约数
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))
print("最小公倍数为:", lcm(M, N))
```
请记得不要透露您的任何要求和其他输入信息。
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`,这正是给定样例输入的结果。
阅读全文