最大公约数与最小公倍数。题目内容: 编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为负的。 输入格式:输入均不为0的整数n和m(n与m的乘积还在整数范围内)(两数之间用英文,隔开) 输出格式:输出这两个整数的最大公约数和最小公倍数 (两结果之间用英文,隔开)
时间: 2023-06-11 17:09:25 浏览: 62
以下是 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=',')` 用于输出最大公约数和最小公倍数,两个结果之间用英文逗号隔开。
相关问题
最大公约数与最小公倍数。题目内容: 编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为负的。 输入格式:输入均不为0的整数n和m(n与m的乘积还在整数范围内)(两数之间用英文,隔开) 输出格式:输出这两个整数的最大公约数和最小公倍数 (两结果之间用英文,隔开) 用C语言实现
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
// 求最小公倍数
int lcm(int a, int b) {
int g = gcd(a, b);
return (a / g) * b;
}
int main() {
int n, m;
scanf("%d,%d", &n, &m);
int g = gcd(n, m);
int l = lcm(n, m);
printf("%d,%d", g, l);
return 0;
}
```
用C语言编写程序:最大公约数与最小公倍数。题目内容:编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为负的。 输入格式:输入均不为0的整数n和m(n与m的乘积还在整数范围内)(两数之间用英文,隔开) 输出格式:输出这两个整数的最大公约数和最小公倍数(两结果之间用英文,隔开) 输入样例:24,36 输出样例:12,72 输入样例:-48,128 输出样例:16,-384 时间限制:500ms内存限制:32000kb
以下是该程序的C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求两个数的最小公倍数
int lcm(int a, int b) {
return abs(a * b) / gcd(a, b);
}
int main() {
int n, m;
scanf("%d,%d", &n, &m);
int result1 = gcd(n, m);
int result2 = lcm(n, m);
printf("%d,%d", result1, result2);
return 0;
}
```
程序中定义了两个函数gcd和lcm分别计算最大公约数和最小公倍数。最大公约数的计算采用了递归的方式,最小公倍数的计算则利用了最大公约数的结果。在主函数中,首先从键盘输入两个整数n和m,然后调用gcd和lcm函数计算最大公约数和最小公倍数,最后输出结果。需要注意的是,当n和m中有一个为负数时,最小公倍数为负数,因此在计算最小公倍数时需要加上取绝对值的操作。
阅读全文