zoukankan      html  css  js  c++  java
  • aoj 0005 GCD and LCM

    Write a program which computes the greatest common divisor (GCD) and the least common multiple (LCM) of given a and b.

    Input

    Input consists of several data sets. Each data set contains a and b separated by a single space in a line. The input terminates with EOF.

    Constraints

    • 0 < a, b ≤ 2,000,000,000
    • LCM(a, b) ≤ 2,000,000,000
    • The number of data sets ≤ 50

    Output

    For each data set, print GCD and LCM separated by a single space in a line.

    Sample Input

    8 6
    50000000 30000000
    

    Output for the Sample Input

    2 24
    10000000 150000000
    辗转相除法求最大公约数,然后最小公倍数就是a * b / 最大公约数。
    代码:
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <algorithm>
    #define Max 1001
    using namespace std;
    typedef long long LL;
    LL gcd(LL a,LL b) {
        if(b == 0)return a;
        return gcd(b,a % b);
    }
    LL lcm(LL a,LL b) {
        return a / gcd(a,b) * b;
    }
    int main(){
        LL a,b;
        while(~scanf("%lld%lld",&a,&b)) {
            printf("%lld %lld
    ",gcd(a,b),lcm(a,b));
        }
        return 0;
    }
  • 相关阅读:
    vue 中使用阿里iconfont彩色图标
    团队作业九
    团队作业八
    团队作业七
    第二篇
    第三篇
    第一篇
    beta冲刺计划安排
    团队作业六
    团队作业五
  • 原文地址:https://www.cnblogs.com/8023spz/p/9460935.html
Copyright © 2011-2022 走看看