社区讨论

QwQ,爆零啊!!!

P1572计算分数参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo2fopr8
此快照首次捕获于
2023/10/23 13:05
2 年前
此快照最后确认于
2023/10/23 13:05
2 年前
查看原帖

(声明:没复制题解)

但对着题解瞅了半天,也没看出来哪有问题
CPP
#include<bits/stdc++.h>
using namespace std;

int a,b,c,d;

int gcd(int x,int y)
{
    if(y==0)return x;
    return gcd(y,x%y);
}

int main(){
    
    cin>>a>>b;
    
    while(scanf("%d/%d",&c,&d))
    {
        int tmp=gcd(b,d);
        a*=d/tmp;
        c*=b/tmp;
        a+=c;
        b*=d/tmp;
        tmp=gcd(a,b);
        a/=tmp;
        b/=tmp;
    }
    
    if(b<0)
    {
        a=-a;
        b=-b;
    }
    if(b==1)cout<<a;
    else cout<<a<<"/"<<b;
    return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...