12345678910111213141516171819202122232425262728293031323334 |
- #include <stdio.h>
- // 欧几里得算法计算最大公约数
- int gcd(int a, int b) {
- while (b != 0) {
- int temp = b;
- b = a % b;
- a = temp;
- }
- return a;
- }
- // 计算最小公倍数
- int lcm(int a, int b, int gcd_value) {
- return (a / gcd_value) * b;
- }
- int main() {
- int a, b;
- // 从标准输入读取两个整数
- scanf("%d %d", &a, &b);
- // 计算最大公约数
- int gcd_value = gcd(a, b);
- // 计算最小公倍数
- int lcm_value = lcm(a, b, gcd_value);
- // 输出结果
- printf("%d %d\n", gcd_value, lcm_value);
- return 0;
- }
|