#include // 欧几里得算法计算最大公约数 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; }