用python写以下题目:输入在一行中给出的两个正整数M和N,求两个给定正整数的最大公约数和最小公倍数。
时间: 2023-11-14 08:07:40 浏览: 97
M 和 N 的最大公约数可以用辗转相除法求解,而最小公倍数则可以用 M 和 N 的积除以它们的最大公约数求解。
代码如下:
```python
m, n = map(int, input().split())
# 求最大公约数
a, b = m, n
while b != 0:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = m * n // gcd
print(gcd, lcm)
```
示例输入:
```
12 18
```
示例输出:
```
6 36
```
相关问题
用python 求两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一行中给出两个正整数m和n(≤1000) 输出格式: 输出m和n的最大公约数和最小公倍数,两数字间以空格分隔。
要求两个正整数的最大公约数和最小公倍数,可以使用Python中的math库中的gcd函数来求最大公约数,使用两个数的乘积除以最大公约数来求最小公倍数。
以下是求解的代码示例:
```python
import math
m, n = map(int, input().split())
# 求最大公约数
gcd = math.gcd(m, n)
# 求最小公倍数
lcm = m * n // gcd
print(gcd, lcm)
```
python 题目描述:输入两个正整数 m和n,求解并输出给定两个整数的最小公倍数输入格式:在一行中输入两个整数m和n,整数之间用逗号隔开。输出格式:在一行中输出一个整数,即 m 和n的最小公倍数
解题思路:最小公倍数可以用两个数的乘积除以它们的最大公约数求得。
Python代码实现:
```python
m, n = map(int, input().split(',')) # 输入两个数,以逗号分隔
# 求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
lcm = m * n // gcd(m, n) # 求最小公倍数
print(lcm) # 输出最小公倍数
```
输入样例:
```
2,3
```
输出样例:
```
6
```
阅读全文