公约数和公倍数 描述 小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。 输入第一行输入一个整数n(0<n<=10000),表示有n组测试数据; 随后的n行输入两个整数i,j(0<i,j<=32767)。输出输出每组测试数据的最大公约数和最小公倍数
#include <stdio.h>
int main() {
int n,i,j,a,b,t,k;
scanf("%d",&n);
for(k=0;k<n;k++) {
scanf("%d %d",&i,&j);
a=i,b=j;
if(b%a==0) printf("%d %d\n",a,i*j/a);
else{
for(t=1;t!=0;) {
t=a%b;
a=b;
b=t;
}
printf("%d %d\n",a,i*j/a);
}
}
}