1 条题解

  • 0
    @ 2025-10-10 15:45:59

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    int gcd(int x,int y)
    {
    	int r=x%y;
    	
    	while (r!=0)
    	{
    		
    		x=y;
    		y=r;
    		r=x%y;
    	}
    	
    	return y;
    }
    int gcl(int x,int y)
    {
    	return x*y/gcd(x,y);
    }
    int main()
    {
    	int x,y,x1,y1,f=0;
    	char fg,fh;
    	cin>>x>>fg>>y>>fh>>x1>>fg>>y1;
    	//step1:通分
    	x=x*(gcl(y,y1)/y);
    	x1=x1*(gcl(y,y1)/y);
    	y=gcl(y,y1);
    	y1=y;
    	//step2相加/相减
    	if (fh=='+') x=x+x1;
    	else x=x-x1;
    	if (x<0) 
    	{
    		f=1;
    		x=abs(x);
    	}
    	if (x==0) cout<<0<<endl;
    	//step3:约分
    	else
    	{
    		if (f==1) cout<<"-"; 
    		cout<<x/gcd(x,y)<<"/"<<y/gcd(x,y)<<endl; 
    	}
    	
     	return 0;
    }
    
    
    • 1

    信息

    ID
    316
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者