题意:输入两个数G,L,找出两个数a,b,使得gcd(a,b)=G,lcm(a,b)=L。有多解输出a最小的那个。无解输出-1。
嗯,这是一道值得思考5s的题目。
L%G==0即有解,否则无解。
有解的话我们让a=G,b=L。这样a一定是最小,且合法。
1 #include<cstdio> 2 int T,G,L; 3 int main() 4 { 5 scanf("%d",&T); 6 while(T--) 7 { 8 scanf("%d%d",&G,&L); 9 if(L%G) printf("-1\n"); 10 else printf("%d %d\n",G,L); 11 } 12 return 0; 13 }