本文最后更新于 689 天前,其中的信息可能已经有所发展或是发生改变。
题目描述
给你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,每组输出占一行。
#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;
}