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

Uva 11889 - Benefit( 数论 )

时间:2014-09-27 03:51:09      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   strong   for   

 

 

Uva 11889 - Benefit( 数论

 

题意: 
calculate the lowest integer B such that LCM(AB) = C


分析:
LCM(A,B) = C = A*B/GCD(A,B)
C*GCD(A,B) = A*B
C/A = B/GCD(A,B)
如果C%A != 0 无解
否则, 令t = C/A
B = t * GCD(A,B) 即B 一定是 t 的整数倍
从t开始枚举B

bubuko.com,布布扣
#include <cstdio>
typedef long long LL;
typedef unsigned long long ULL;

ULL gcd(ULL a,ULL b)
{
    return b == 0 ? a : gcd(b, a%b);
}

void Orz()
{
    LL A, C, T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld %lld",&A,&C);
        int flag = 1;
        if(C % A == 0)
        {
            LL t = C/A;
            for(int B = t;B <= C; B += t)
            {
                if(B/gcd(B,A) == t)
                {
                    flag = 0;
                    printf("%lld\n",B);
                    break;
                }
            }
        }
        if(flag)
            puts("NO SOLUTION");
    }
}

int main()
{
    Orz();
    return 0;
}
代码君

 





 

Uva 11889 - Benefit( 数论 )

标签:style   blog   http   color   io   os   ar   strong   for   

原文地址:http://www.cnblogs.com/BigBallon/p/3995863.html

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