UVAOJ 11388 GCD LCM (简单数学)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2989



题意:给你GCD(a,b)和LCM(a,b),求a和b

思路:当最小公倍数能够除尽最小公倍数时,说明存在,此时最小的a就是GCD(a,b),b就是LCM(a,b),否则不存在


ac代码:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stack>
#include<queue>
#include<vector>
#include<iostream>
#include<algorithm>
#define MAXN 101000
#define LL long long
#define ll __int64
#define INF 0xfffffff
#define mem(x) memset(x,0,sizeof(x))
#define PI acos(-1)
using namespace std;
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		if(b%a)
		printf("-1\n");
		else
		printf("%d %d\n",a,b);
	}
	return 0;
}


你可能感兴趣的:(UVAOJ 11388 GCD LCM (简单数学))