小学我们都学过分数。分数的加法是小学课程中比较重要的一环。现在我们就教计算机来学会分数加法吧。
为了简单起见,a/b+c/d 中 a,b,c,d 都是正整数,计算结果必须是最简分数哦。
【输入描述】:
只有一行,四个整数。用空格隔开的 a,b,c,d。(所给分数不一定是最简分数)
【输出描述】:
一行,两个整数用空格隔开,表示结果中的分子和分母。(计算结果必须是最简分数)
【样例输入】:
4 7 6 9
【样例输出】:
26 21
【时间限制、数据范围及描述】:
时间:1s 空间:64M
100% 的数据:1<=a,b,c,d<=100
分析与解:
这题没什么好说的,直接上代码:
#include<stdio.h>
int gcd(int a,int b){
if(!b) return a;
return gcd(b,a%b);
}
int main(){
// freopen("fractadd.in","r",stdin);
// freopen("fractadd.out","w",stdout);
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
int ans1=a*d+b*c,ans2=b*d;
printf("%d %d",ans1/gcd(ans1,ans2),ans2/gcd(ans1,ans2));
return 0;
}