题解 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");
	}
}
posted @ 2019-10-25 23:03  whx1003  阅读(98)  评论(0编辑  收藏  举报