2 条题解
-
0
#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
#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
- 上传者