题解 UVa11388
题目大意 \(T\) 组数据,每组数据给定两个整数 \(G,L\),输出数对 \(x,y\) 满足 \(GCD(x,y)=G,LCM(x,y)=L\) 且 \(x\) 最小。若无解则输出 \(-1\)。
分析 数论水题。当 \(L\%G=0\) 时有解,且解为 \(x=G,y=L\)。这是因为一个整数的因数应当小于等于自身,所以 \(x<G\) 时不成立,而 \(x=G,y=L\) 时恰好成立。
#include<bits/stdc++.h>
using namespace std;
int T, G, L;
int main()
{
scanf("%d", &T);
while(T--) {
scanf("%d%d", &G, &L);
if(!(L % G)) printf("%d %d\n", G, L);
else puts("-1");
}
}