解题思路:
辗转相除法求2个整数的最大公约数

求解最小公倍数:

公式:2个整数的最小公倍数=它们的乘积/它们的最大公约数

注意事项:
暂时不明
参考代码:

#include<iostream>

using namespace std;

int greatest_common_divisor(int,int);

int least_common_multiple(int,int,int);

int main()

{

    int a,b;

    cin>>a>>b;

    int gcd = greatest_common_divisor(a,b);

    int lcm = least_common_multiple(a,b,gcd);

    cout<<gcd<<' '<<lcm<<endl;

    return 0;

}

int greatest_common_divisor(int a, int b)

{

    if (a<b){

        int temp=b;

        b=a;

        a=temp;

    }

    while(a%b)

    {

        int temp = a%b;

        a=b;

        b=temp;

    }

    return b;

}

int least_common_multiple(int a,int b,int gcd)

{

        return a*b/gcd;

}


 

0.0分

0 人评分

  评论区