zoukankan      html  css  js  c++  java
  • 求多个数的最小公倍数(以3个数为例)

    想要求出三个数的最小公倍数,首先需要求出两个数的最小公倍数,而要求得两个数的最小公倍数就要求出其最大公约数(使用辗转相除法)

    辗转相除法:假设我们有两个数a,b(a<b),现在求a,b最大公约数(借助t):

    while(b%a!=0)
    {
        t=b%a;
        b=a;
        a=t;
    }
    cout<<"最大公约数:"<<b;

    主要代码:

    #include <iostream>
    
    using namespace std;
    //求出a,b的最大公约数
    int gcd(int a,int b)
    {
        return a%b==0?b:gcd(b,a%b);
    }
    
    int main()
    {
        int a,b,c;
        cin>>a>>b>>c;
        int ab=a*b/gcd(a,b);        //得到a,b的最小公倍数
        cout<<ab*c/gcd(ab,c)<<endl; //得到吧,c的最小公倍数
        return 0;
    }
  • 相关阅读:
    DP -- 递推
    二分查找题
    动态规划
    二分专题
    并查集
    三分法
    二分法
    插入排序
    排序小结
    Go go.mod入门
  • 原文地址:https://www.cnblogs.com/darklights/p/5270219.html
Copyright © 2011-2022 走看看