公约数和公倍数
时间限制: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.