7-3最大公约数和最小公倍数分数 本题目要求读入2个正整数A和B,然后输出它们的最大公约数和最小公倍数。输入格式: 输入在- -行中给出2个不超过10000的正整数A和B。 输出格式: 对每一组输入,在- -行中输出最大公约数和最小公倍数,用逗号分隔。用c语言
时间: 2024-09-27 11:04:55 浏览: 45
输入两个正整数m和n,求其最大公因数和最小公倍数
在C语言中,计算两个正整数A和B的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM),可以利用欧几里得算法(辗转相除法)来求取GCD,再通过公式LCM(A, B) = |A * B| / GCD(A, B) 来计算LCM。以下是对应的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) {
return (a * b) / gcd(a, b);
}
int main() {
int A, B;
// 读取输入
scanf("%d %d", &A, &B);
// 计算并输出结果
printf("%d,%d\n", gcd(A, B), lcm(A, B));
return 0;
}
```
在这个程序中,首先定义了两个函数gcd()和lcm()分别用于计算最大公约数和最小公倍数。在main()函数中,用户输入的A和B会被读取,并将结果打印出来,用逗号分隔。
阅读全文