美文网首页
最大公约数

最大公约数

作者: yuriy0_0 | 来源:发表于2019-03-04 22:24 被阅读0次

    一、辗转相除法
    1,循环除

    #include <iostream>
    using namespace std;
    int main(){
        int a,b,t;
        cin>>a>>b;
        if(a<b)swap(a,b);
        do{
            t=a%b;
            a=b;
            b=t;
        }while(t);
        cout<<a<<endl;
        return 0;
    }
    

    2,迭代除

    #include <iostream>
    using namespace std;
    int gcd(int a,int b){
        if(b==0)
            return a;
        return gcd(b,a%b);
    }
    
    int main(){
        int a,b,t;
        cin>>a>>b;
        if(a<b)swap(a,b);
        cout<< gcd(a,b)<<endl;
        return 0;
    }
    

    扩展:a,b最小公倍数=(ab最大公约数^2)a/最大公约数b/最大公约数=a*b/最大公约数

    相关文章

      网友评论

          本文标题:最大公约数

          本文链接:https://www.haomeiwen.com/subject/akswuqtx.html