AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

老师再也不怕我分数算错了

作者: 作者的头像   爱Coding的鸠 ,  2025-06-10 20:19:51 · 天津 ,  所有人可见 ,  阅读 6


0


#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);
    }
}

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息