公约数和公倍数
公约数和公倍数
时间限制: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
- 来源
- [苗栋栋]原创
- 上传者
01.
#include<stdio.h>
02.
int
ZDG(
int
a,
int
b)
03.
{
04.
if
(a<b)
05.
{
06.
int
temp=a;
07.
a=b;
08.
b=temp;
09.
}
10.
if
(a%b==0)
11.
{
12.
return
b;
13.
}
else
14.
{
15.
int
r=a%b;
16.
a=b;
17.
b=r;
18.
ZDG(a,b);
19.
}
20.
}
21.
int
main()
22.
{
23.
int
N;
24.
int
m,n,w;
25.
scanf
(
"%d"
,&N);
26.
while
(N--)
27.
{
28.
scanf
(
"%d%d"
,&m,&n);
29.
w=ZDG(m,n);
30.
printf
(
"%d %d\n"
,w,(m*n)/w);
31.
}
32.
return
0;
33.
}