1 /*描述 2 小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。 3 输入 4 第一行输入一个整数n(0<n<=10000),表示有n组测试数据; 5 随后的n行输入两个整数i,j(0<i,j<=32767)。 6 输出 7 输出每组测试数据的最大公约数和最小公倍数 8 样例输入 9 3 10 6 6 11 12 11 12 33 22 13 样例输出 14 6 6 15 1 132 16 11 66*/ 17 #include<stdio.h> 18 int main() 19 { 20 int n; 21 scanf("%d",&n); 22 while(n--) 23 { 24 int i,j,a,b,c,d; 25 scanf("%d%d",&i,&j); 26 c=i; 27 d=j; 28 if(i>j) 29 { 30 a=i; 31 i=j; 32 j=a; 33 } 34 while(i!=0) 35 { 36 b=i; 37 i=j%i; 38 j=b; 39 } 40 printf("%d %d\n",j,c*d/j); 41 } 42 return 0; 43 }
原文:http://www.cnblogs.com/a604378578/p/3536966.html