题目:编写程序,从键盘输入两个正整数,计算两个数的最大公约数和最小公倍数。
时间: 2023-07-15 19:14:52 浏览: 124
下面是 Python 代码实现:
```python
# 输入两个正整数
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
# 计算最大公约数
a = num1
b = num2
while b:
a, b = b, a % b
gcd = a
# 计算最小公倍数
lcm = num1 * num2 // gcd
# 输出结果
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
```
该程序首先从键盘输入两个正整数,然后使用辗转相除法计算最大公约数,最后根据两数乘积除以最大公约数计算最小公倍数,并输出结果。
相关问题
最大公约数与最小公倍数。题目内容:编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就
这道题目要求编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,则最小公倍数就是两数的乘积除以最大公约数。两个整数里有负的则最小公倍数就有负的,最小公倍数就是两数的乘积除以最大公约数的绝对值。两个整数由键盘输入,约定最大公约数为正整数,两数里有负的则最小公倍数就是两数的乘积除以最大公约数的绝对值。
最大公约数与最小公倍数。题目内容: 编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为负的。 输入格式:输入均不为0的整数n和m(n与m的乘积还在整数范围内)(两数之间用英文,隔开) 输出格式:输出这两个整数的最大公约数和最小公倍数 (两结果之间用英文,隔开)
以下是 Python 代码实现:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return abs(a * b) // gcd(a, b)
n, m = map(int, input().split())
gcd_res = gcd(n, m)
lcm_res = lcm(n, m)
print(gcd_res, lcm_res, sep=',')
```
解释如下:
- `gcd(a, b)` 函数用于求两个整数的最大公约数,采用递归的方式实现。
- `lcm(a, b)` 函数用于求两个整数的最小公倍数,采用辗转相除法和公式 `lcm(a, b) = abs(a * b) // gcd(a, b)` 实现。
- `n, m = map(int, input().split())` 用于从键盘输入两个整数,将其转化为整型并赋值给 `n` 和 `m`。
- `print(gcd_res, lcm_res, sep=',')` 用于输出最大公约数和最小公倍数,两个结果之间用英文逗号隔开。