最小公倍数=两数乘积/最大公约数(相减法、辗转相除法)

晨跑

http://www.nowcoder.com/questionTerminal/cf2e7025bf3e44eea0cd50ef9ac75e93

#include<iostream>
using namespace std;
/*最小公倍数=两数乘积 / 最大公约数*/
long beishu(long a, long b){
    long m=a*b;/*两数乘积*/

    /*最大公约数--相减法*/
//    while(a<b || a>b){
//        if(a<b)b=b-a;
//        if(a>b)a=a-b;
//    }

    /*最大公约数--辗转相除法*/
    if(b>a) swap(a,b);
    long c=a%b;
    while(c!=0){
        a=b;
        b=c;
        c=a%b;
    }

    return m/b;

}
int main(){
    long a,b,c;
    cin>>a>>b>>c;

    long p=beishu(a,b);
    long q=beishu(p,c);
    cout<<q<<endl;

    return 0;
}
全部评论

相关推荐

肤浅的羊:谜语人能不能直说呀
投递字节跳动等公司10个岗位 > 非技术求职现状
点赞 评论 收藏
分享
想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务