公约数和公倍数

描述

小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。

输入
第一行输入一个整数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 #include <stdio.h>
 2 
 3 int main(){
 4     int a;
 5     int b;
 6     int temp;
 7     int T;
 8     int a_save;
 9     int b_save;
10     
11     scanf("%d",&T);
12     
13     while(T--){
14         scanf("%d%d",&a,&b);
15         
16         if(a<b){
17             temp=a;
18             a=b;
19             b=temp;
20         }
21         
22         a_save=a;
23         b_save=b;
24         while(a%b!=0){
25             temp=a%b;
26             a=b;
27             b=temp;
28         }
29         
30         printf("%d %d
",b,a_save*b_save/b);
31     }    
32     return 0;
33 }
原文地址:https://www.cnblogs.com/zqxLonely/p/4096203.html