40.公约数和公倍数

描述
小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。
输入
第一行输入一个整数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
 1 /* 
 2 求最小公倍数算法:
 3 最小公倍数=两整数的乘积÷最大公约数
 4 求最大公约数算法:
 5 (1)欧几里得算法:辗转相除法
 6 有两整数a和b:
 7 ① a%b得余数c
 8 ② 若c=0,则b即为两数的最大公约数
 9 ③ 若c≠0,则a=b,b=c,再回去执行①*/
10 
11 #include<stdio.h>
12 int main( ) {
13     int n, i, j, k, t; 
14         scanf("%d", &n);
15     while(n--) {
16         scanf("%d%d", &i, &j);
17         k = i * j;
18         while(j != 0) {
19             t = i % j;
20             i = j;
21             j = t;
22         }
23         printf("%d %d\n", i, k / i);
24     }
25     return 0;
26 }
View Code

 

posted on 2016-08-17 11:15  椿和湫  阅读(104)  评论(0编辑  收藏  举报

导航