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

晨跑

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;
}
全部评论

相关推荐

找不到工作死了算了:你已经熟练掌握c语言啦,可以投简历参加秋招了
点赞 评论 收藏
分享
2024-12-11 11:40
海南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务