9 条题解

  • 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
      @ 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
                    @ 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
                    标签
                    递交数
                    407
                    已通过
                    163
                    上传者