a/b+c/d

595 词

题目描述

给你2个分数,求他们的和,并要求和为最简形式。

输入

输入首先包含一个正整数T($T<=1000$),表示有T组测试数据,然后是T行数据,每行包含四个正整数a,b,c,d($0<a,b,c,d<1000$),表示两个分数a/b 和 c/d。

输出

对于每组测试数据,输出两个整数e和f,表示$a/b + c/d$的最简化结果是$e/f$,每组输出占一行。

样例输入

1
2
3
2
1 2 1 3
4 3 2 3

样例输出

1
2
5 6
2 1

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
if (b == 0)return a;
else return gcd(b, a%b);
}
int main() {
int n,a,b,c,d;
cin >>n;
while (n--) {
cin >> a >> b >> c >> d;
int x,y;
x = a * d + b * c;
y = b * d;
int z = gcd(x,y);
cout << x/z << " " << y/z << endl;
}
return 0;
}