9 条题解

  • 1
    @ 2025-4-18 17:45:30

    #include #include #include<string.h> #include<stdio.h> #include<math.h> #include #include using namespace std; int main(){ int a,b,c,d; cin>>a>>b>>c>>d; cout<<a<<"/"<<b<<"+"<<c<<"/"<<d<<"="; int x,y; x=bd; y=ad+b*c; int r,ax,in; ax=max(x,y); in=min(x,y); r=ax%in; while(r != 0){ ax = in; in=r; r=ax%in; } int aa,bb,zs; aa=y/in; bb=x/in; if(aa>bb){ zs=(aa-aa%bb)/bb; aa%=bb; cout<<zs<<"+"<<aa<<"/"<<bb; }else{ cout<<aa<<"/"<<bb; } return 0; }

    • 1
      @ 2023-3-28 21:05:25
      #include <bits/stdc++.h>//直接使用万能头
      using namespace std;
      int gcd(int a,int b){
      	if(b == 0){
      		return a;
      	}
      	return gcd(b,a % b);
      }
      int main(){
      	int a,b,c,d;
      	cin >> a >> b >> c >> d;
      	int aa = a * d + b * c,bb = b * d,x = gcd(aa,bb);
      	aa /= x;
      	bb /= x;
      	if(aa > bb){
      		cout << a << "/" << b << "+" << c << "/" << d << "=" << aa / bb << "+" << aa % bb << "/" << bb;
      	}
      	else{
      		cout << a << "/" << b << "+" << c << "/" << d << "=" << aa << "/" << bb;
      	}
      	return 0;
      	}
      
      • 1
        @ 2022-12-23 23:45:01
        #include<iomanip>
        #include<stdio.h>
        #include<math.h>
        #include<cstring>
        using namespace std;
        int main(){
        	int a,b,c,d;
        	cin>>a>>b>>c>>d;
        	cout<<a<<"/"<<b<<"+"<<c<<"/"<<d<<"=";
        	int x,y;
        	x=b*d;//分母
        	y=a*d+b*c;//分子
        	int r,ax,in;
        	ax=max(x,y);//大数(用来求最大公倍数)
        	in=min(x,y);//小数
        	r=ax%in;//r为余数
        	while(r!=0){//while求最大公倍数来化简
        		ax=in;
        		in=r;
        		r=ax%in;
        	}
        	int aa,bb,zs;//约分后的分子分母与输出答案的整数部分
        	aa=y/in;
        	bb=x/in;
        	if(aa>bb){//求整数部分
        		zs=(aa-aa%bb)/bb;
        		aa%=bb;
        		cout<<zs<<"+"<<aa<<"/"<<bb;
        	}else{//分情况
        		cout<<aa<<"/"<<bb;
        	}
        	return 0;
        }
        
        • 1
          @ 2022-8-26 18:31:06
          #include <stdio.h>
          #include <iostream>
          using namespace std;
          int main()
          {
          	int a, b, c, d;
          	cin >> a >> b >> c >> d;
          	// printf("%d/%d+%d/%d=",a,b,c,d);
          	cout << a << "/" << b << "+" << c << "/" << d << "=";
          	int y = b*d;
          	int x = a*d + c*b;
          	if(x>y)
          	{
          		cout << x/y;
          		x = x%y;
          		if(x%y !=0)
          		{
          			cout << "+";
          		}
          	}
          	a = x, b = y;
          	while(b)
          	{
          		int t = a%b;
          		a = b;
          		b = t;
          	} 
          	if(a != 0)
          	{
          		x = x/a;
          		y = y/a;
          		cout << x << "/"<<y<<endl;
          
          	}
          }
          
          • 0
            @ 2025-7-19 9:30:18

            #include using namespace std;

            // 计算最大公约数 int gcd(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a; }

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

            // 计算和的分子和分母
            int numerator = a * d + c * b;
            int denominator = b * d;
            
            // 约分
            int common = gcd(numerator, denominator);
            numerator /= common;
            denominator /= common;
            
            // 输出结果
            cout << a << "/" << b << "+" << c << "/" << d << "=";
            if (numerator >= denominator) {
                int integer = numerator / denominator;
                numerator = numerator % denominator;
                cout << integer;
                if (numerator != 0) {
                    cout << "+" << numerator << "/" << denominator;
                }
            } else {
                cout << numerator << "/" << denominator;
            }
            
            return 0;
            

            }

            • 0
              @ 2025-6-15 17:56:28
              
              ```#include <stdio.h>
              #include <iostream>
              #include <math.h>
              using namespace std;
              int main()
              {
              	int a,b,c,d;
              	cin>>a>>b>>c>>d;
              	cout<<a<<"/"<<b<<"+"<<c<<"/"<<d<<"=";
              	int y=b*d;
              	int x=a*d+c*b;
              	if (x>y)
              	{
              		cout<<x/y;
              		x=x%y;
              		if(x%y!=0)
              		{
              			cout<<"+";
              		}
              	}
              	a=x,b=y;
              	while(b)
              	{
              		int t=a%b;
              		a=b;
              		b=t;
              	}
              	if(a!=0)
              	{
              		x=x/a;
              		y=y/a;
              		cout<<x<<"/"<<y<<endl;
              	}
              }
              • 0
                @ 2025-6-5 12:54:57

                #include #include using namespace std; int main() { int a, b, c, d, denominator, numerator, gcd, integerPart, remainder; cin >> a >> b >> c >> d; numerator = a * d + c * b; denominator = b * d; gcd = __gcd(numerator, denominator); numerator /= gcd; denominator /= gcd; integerPart = numerator / denominator; remainder = numerator % denominator; cout << a << "/" << b << "+" << c << "/" << d << "="; if (remainder == 0) { cout << integerPart; } else if (integerPart == 0) { cout << remainder << "/" << denominator; } else { cout << integerPart << "+" << remainder << "/" << denominator; } return 0; }

                • -1
                  @ 2025-12-21 14:35:53
                  #include <iostream>
                  using namespace std;
                  short a,b,c,d;
                  int main()
                  {
                  	cin >> a >> b >> c >> d;
                  	int e,f,g;
                  	g = b * d;
                  	f = a * g / b + c * g / d;
                  	e = f / g;
                  	f -= e * g;
                  	for (int i = 2;i < 1000;i++)
                  	{
                  		if (f % i == 0 && g % i == 0)
                  		{
                  			while (f % i == 0 && g % i == 0)
                  			{
                  				f /= i;
                  				g /= i;
                  			}
                  		}
                  	}
                  	if (f + e * g < g)
                  		cout << a << '/' << b << '+' << c << '/' << d << '=' << f << '/' << g;
                  	else
                  		cout << a << '/' << b << '+' << c << '/' << d << '=' << e << '+' << f << '/' << g;
                  	return 0;
                  }
                  • -1
                    @ 2024-3-31 18:31:47
                    #include <bits/stdc++.h> //使用万能头
                    using namespace std;
                    int zdgys(int a,int b){ //用辗转相除法求最大公因数(a,b)
                    	int t;
                    	if(a < b){ //a和b的值交换
                    		t = a;
                    		a = b;
                    		b = t;
                    	}
                    	while(a % b != 0){ //开始辗转相除法
                    		t = b;
                    		b = a % b;
                    		a = t;
                    	}
                    	return b;
                    }
                    int zxgbs(int a,int b,int c){ //求最小公倍数[a,b],c为最大公因数(a,b)
                    	return a * (b / c);
                    }
                    int a,b,c,d,e,f,g,jga,jgb;
                    int main(){
                    	cin >> a >> b >> c >> d;
                    	cout << a << "/" << b << "+" << c << "/" << d << "=";
                    	e = zdgys(b,d);      //
                    	f = zxgbs(b,d,e);    //
                    	a = a * (f / b);     //通
                    	b = f;               //分
                    	c = c * (f / d);     //
                    	d = f;               //
                    	jga = a + c;
                    	jgb = b;
                    	g = jga / jgb;
                    	jga %= jgb;
                    	e = zdgys(jga,jgb);
                    	if(e != 1){          //
                    		jga /= e;        //约
                    		jgb /= e;        //分
                    	}                    //
                    	if(g == 0) cout << jga << "/" << jgb << endl;
                    	else cout << g << "+" << jga << "/" << jgb << endl;
                    	return 0;
                    }
                    
                    • 1

                    信息

                    ID
                    907
                    时间
                    1000ms
                    内存
                    128MiB
                    难度
                    5
                    标签
                    递交数
                    408
                    已通过
                    164
                    上传者