首页 > 代码库 > 公约数和公倍数

公约数和公倍数

描述

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

输入
第一行输入一个整数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\n",b,a_save*b_save/b);31     }    32     return 0;33 }

 

公约数和公倍数