2 条题解

  • 0
    @ 2025-10-8 16:54:20
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    LL p[15], q[15];
    LL gcd(LL x, LL y)
    {
        if(x == 0) return y; else return gcd(y % x, x);
    }
    int main()
    {
        int n; scanf("%d", &n);
        for(int i = 1; i <= n; i++) scanf("%lld/%lld", &p[i], &q[i]);
        LL lcd = q[1]; for(int i = 2; i <= n; i++) lcd = lcd / gcd(lcd, q[i]) * q[i];
        LL sum = 0;   for(int i = 1; i <= n; i++) sum += p[i] * (lcd / q[i]);
        LL g = gcd(sum, lcd);
        sum /= g;
        lcd /= g;
        if(lcd == 1) printf("%lld\n", sum);
        else printf("%lld/%lld\n", sum, lcd);
        return 0;
    }
    
    • 0
      @ 2025-10-8 16:54:12
      #include<bits/stdc++.h>
      using namespace std;
      typedef long long LL;
      LL p[15],q[15];
      LL gcd(LL x,LL y)
      {
      	if(x==0) return y;else return gcd(y%x,x);
      }
      int main()
      {
          int n;scanf("%d",&n);
          for(int i=1;i<=n;i++) scanf("%lld/%lld",&p[i],&q[i]);
          LL lcd=q[1];for(int i=2;i<=n;i++)lcd=lcd/gcd(lcd,q[i])*q[i];
      	LL sum=0;   for(int i=1;i<=n;i++)sum+=p[i]*(lcd/q[i]);
      	LL g=gcd(sum,lcd);
      	sum/=g;
      	lcd/=g;
      	if(lcd==1) printf("%lld\n",sum);
      	else printf("%lld/%lld\n",sum,lcd);
      	return 0;
      }
      • 1

      信息

      ID
      854
      时间
      1000ms
      内存
      128MiB
      难度
      3
      标签
      递交数
      114
      已通过
      59
      上传者