5 条题解

  • 1

    #include<iostream>
    using namespace std;
    long long gcd(long long a, long long b){
    if(a < b)swap(a, b);
    if(a % b == 0)return b;
    while(true){
    a = a % b;
    if(b % a == 0)return a;
    b = b % a;
    if(a % b == 0)return b;
    }
    }
    int main(){
    long long a, b, c, d;
    cin >> a >> b >> c >> d;
    a = a*d + b*c;
    b = b*d;
    long long gcd1 = gcd(a, b);
    cout << a/gcd1 << " " << b/gcd1;
    return 0;
    }//541881314

  • 0
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int m,n;
        int mt,nt;
        int b1,a1,b2,a2;
        cin>>b1>>a1>>b2>>a2;
        m=b1*a2+b2*a1;
        n=a1*a2;
        mt=m;
        nt=n;
        int r=m%n;
        while(r!=0)
        {
            m=n;
            n=r;
            r=m%n;
        }
        cout<<mt/n<<" "<<nt/n;
        return 0;
    }
    
  • 0

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    int b1,a1,b2,a2,aa,bb,r;
    cin>>b1>>a1>>b2>>a2;
    aa=a1*a2;
    bb=b1*a2+b2*a1;
    int a=aa,b=bb;
    r=a%b;
    while(r!=0)
    {
    a=b;
    b=r;
    r=a%b;
    }
    cout<<bb/b<<" "<<aa/b;
    return 0;
    }

  • 0
    @ 2024-06-29 13:33:43
    #include<iostream>
    using namespace std;
    long long gcd(long long a, long long b){
        if(a < b)swap(a, b);
        if(a % b == 0)return b;
        while(true){
            a = a % b;
            if(b % a == 0)return a;
            b = b % a;
            if(a % b == 0)return b;
        }
    }
    int main(){
        long long a, b, c, d;
        cin >> a >> b >> c >> d;
        a = a*d + b*c;
        b = b*d;
        long long gcd1 = gcd(a, b);
        cout << a/gcd1 << " " << b/gcd1;
        return 0;
    }
    
  • 0
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int b1, a1, a2, b2, a3, b3, aa3,bb3;
        cin>>b1;
        cin>>a1;
        cin>>b2;
        cin>>a2;
        int aa1=a1, aa2=a2;
        while( 1 ) //两分母最大公因数
        {
            a3=aa1%aa2;
            if(a3==0)
                break;
            aa1=aa2; aa2=a3;
        }
        
        b3=a1/aa2*a2;//最小公倍数
        b1=b3/a1*b1;//b1分子扩大
        b2=b3/a2*b2;//b2分子扩大
        bb3=b1+b2;//b1+b2
        int bb1=b3, bb2=bb3;//化简
        while( 1 ) //分子、分母最大公因数
        {
            aa3=bb1%bb2;
            if(aa3==0)
                break;
            bb1=bb2; bb2=aa3;
        }
        
        b1=bb3/bb2;//分子化简
        b2=b3/bb2;//分母化简
        cout<<b1<<" "<<b2<<endl;
        return 0;
    }
    
  • 1

A6-2 最大公约数专题:分数的加法

信息

ID
1063
难度
3
分类
(无)
标签
递交数
206
已通过
96
通过率
47%
上传者