pta 团体天梯赛 N个数之和

img

img


#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,j;
    scanf("%d",&n);
    int a,b;
    int c,d;
    int e,f;
    scanf("%d/%d",&a,&b);
    for(i=0;i<n-1;i++)
    {
        scanf("%d/%d",&c,&d);
        e=b*d;
        f=a*d+c*b;
        b=e;
        a=f;
        for(j=b;j>1;j--)
        {
            if(a%j==0&&b%j==0)
            {
                a=a/j;
                b=b/j;
            }
        }
    }
    for(j=b;j>1;j--)
        {
            if(a%j==0&&b%j==0)
            {
                a=a/j;
                b=b/j;
            }
        }
    e=fabs(a);
    if(e%b==0) printf("%d",a/b);
    else if(e>b) printf("%d %d/%d",a/b,e-b*abs(a/b),b);
    else printf("%d/%d",a,b);
} 

有什么问题吗?实在想不到了

参考这博文:https://blog.csdn.net/m0_61122217/article/details/123673632

试试把int改成long long呢?题目说分子分母在长整型范围内