本题要求两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一行中给出两个正整数M和N(≤1000)。 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
时间: 2023-10-30 19:43:01 浏览: 45
输入两个正整数m和n,求其最大公因数和最小公倍数
#include <stdio.h>
int main()
{
int m, n, a, b, t, gcd, lcm;
scanf("%d %d", &m, &n);
// 记录原始输入的值,避免后面计算时改变它们的值
a = m;
b = n;
// 辗转相除法求最大公约数
while (n != 0)
{
t = m % n;
m = n;
n = t;
}
gcd = m;
// 求最小公倍数
lcm = a * b / gcd;
printf("%d %d", gcd, lcm);
return 0;
}
阅读全文