老师再也不怕我分数算错了
作者:
爱Coding的鸠
,
2025-06-10 20:19:51
· 天津
,
所有人可见
,
阅读 6
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b) // 欧几里得算法
{
return b ? gcd(b, ((a % b)+b)%b) : a;
}
int x3,x4,y3,y4;
char str;
int main()
{
while(cin >> x3){
scanf("/%d %c %d/%d",&y3,&str,&x4,&y4);
int xg,xl,a3;
if(str=='+'||str=='-'){
xg=gcd(y3,y4);
xl=y3/xg*y4;
a3=y4/xg*x3;
int a4=y3/xg*x4;
if(str=='+'){
a3+=a4;
}
else{
a3-=a4;
}
}
else if(str=='*'||str=='/'){
if(str=='/') swap(x4,y4);
a3=x3*x4;
xl=y3*y4;
}
int ga=gcd(a3,xl);
if(xl==0){
puts("INF");
return 0;
}
if(ga==0) ga++;
printf("%d/%d\n",a3/ga,xl/ga);
}
}