码迷,mamicode.com
首页 > 其他好文 > 详细

Uva 11388 GCD LCM

时间:2016-05-17 16:05:05      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

题意:给定两个整数G和L,找出两个整数a和b,使得二者的最大公约数为G,最小公倍数为L,如果有多组解,输出a<=b且a最小的解,若无解输出-1

根据L=(a*b)/G,由于G是a和b的约数,因此a和b可以写成G*x,G*y,则等式变为:L/G=x*y。若L%G!=0,则无解,否则取x为1即可。

 

 1 #include <cstdio>
 2 
 3 int main ()
 4 {
 5     int T;
 6     scanf("%d",&T);
 7     while (T--)
 8     {
 9         int G,L;
10         scanf("%d%d",&G,&L);
11         if (L%G==0)
12             printf("%d %d\n",G,L);
13         else
14             printf("-1\n");
15     }
16     return 0;
17 }

 

Uva 11388 GCD LCM

标签:

原文地址:http://www.cnblogs.com/ExcuseMe/p/5501922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!