公约数和公倍数
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。
-
输入
-
第一行输入一个整数n(0<n<=10000),表示有n组测试数据;
随后的n行输入两个整数i,j(0<i,j<=32767)。
输出
- 输出每组测试数据的最大公约数和最小公倍数 样例输入
-
3 6 6 12 11 33 22
样例输出
-
6 6 1 132 11 66
来源
-
第一行输入一个整数n(0<n<=10000),表示有n组测试数据;
#include <stdio.h>
02.
03.
int
GCD(
int
a,
int
b){
04.
if
(a < b){
05.
return
GCD(b,a);
06.
}
07.
if
(b == 0){
08.
return
a;
09.
}
10.
else
{
11.
return
GCD(b, a % b);
12.
}
13.
}
14.
15.
int
main ()
16.
{
17.
int
N,M,a,b;
18.
scanf
(
"%d"
,&N);
19.
while
(N--){
20.
scanf
(
"%d %d"
,&a,&b);
21.
M = GCD(a,b);
22.
printf
(
"%d %d\n"
,M,a * b / M);
23.
}
24.
return
0;
25.
}
26.