最大公约数与最小公倍数。题目内容:编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为
时间: 2023-04-24 16:02:30 浏览: 138
最大公约数(Greatest Common Divisor, GCD)是指两个或多个整数的最大公约数。最小公倍数(Least Common Multiple, LCM)是指两个或多个整数的最小公倍数。编写两个函数分别求两个整数的最大公约数和最小公倍数, 并用主函数调用这两个函数, 然后输出结果,两个整数由键盘输入.
相关问题
最大公约数与最小公倍数。题目内容: 编写两个函数,分别求两个整数的最大公约数和最小公倍数,并用主函数调用这两个函数,然后输出结果。两个整数由键盘输入。约定最大公约数为正整数,两数里有负的则最小公倍数就为负的。 输入格式:输入均不为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中有一个为负数时,最小公倍数为负数,因此在计算最小公倍数时需要加上取绝对值的操作。
阅读全文