1. 程式人生 > >GCD 與 LCM UVA - 11388

GCD 與 LCM UVA - 11388

可能 printf tin 算法 tps %x src 最小 name

題目鏈接:

https://cn.vjudge.net/problem/23709/origin

本題其實有坑

數據大小太大, 2的32次方,故而一定是取巧的算法,暴力不可能過的

思路是最大公因數的倍數是最小公倍數,又有a <= b所以可以知道 a = gcd, b = lcm

AC代碼如下:

技術分享圖片
#include <cstdio>
#define ll long long

using namespace std;

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        ll x, y;
        scanf(
"%lld%lld", &x, &y); if(y%x != 0) { printf("-1\n"); continue; } printf("%lld %lld\n", x, y); } }
View Code

如有疑問,歡迎評論指出!

GCD 與 LCM UVA - 11388