1. 程式人生 > >7-13 最大公約數和最小公倍數(15 分)

7-13 最大公約數和最小公倍數(15 分)

本題要求兩個給定正整數的最大公約數和最小公倍數。

輸入格式:

輸入在一行中給出兩個正整數M和N(1000)。

輸出格式:

在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔。

輸入樣例:

511 292

輸出樣例:

73 2044

#include<stdio.h>
#include<math.h>
 
int main()
{
int a, b, r, temp, pro;
scanf("%d %d", &a, &b);
pro = a*b;
if (a < b)
{
temp = a;
a = b;
b = temp;
}
do
{
r = a%b;
a = b;
b = r;
} while (r);
printf("%d %d\n", a, pro/a);
return 0;
}