hdu 2504 又见GCD

又见GCD
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 22598 Accepted Submission(s): 9312

Problem Description
有三个正整数a,b,c(0

#include<cstdio>

int gcd(int a, int b){
    if(b == 0){
        return a;
    }
    return gcd(b, a%b);
}

int main(){
    int T;
    scanf("%d", &T);
    while(T--){
        int a, b, c;
        scanf("%d%d", &a, &c);
        b = 2 * c;
        while(gcd(a, b) != c){
            b += c;   //b是a、c的最大公约数,因为c!=b,所以c=2*b3*b……分别代入gcd的公式中判断
        }
        printf("%d\n", b);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/ling_wang/article/details/79589204
今日推荐