最简分数 | ||
| ||
description | ||
给定4个正整数a,b,c,d,它们的范围均小于10000,求a/b + c/d的值,要求化为最简分数。
| ||
input | ||
输入数据有多组,每组1行,即a,b,c,d。
| ||
output | ||
输出占一行,请看样例。
| ||
sample_input | ||
1 2 1 3
| ||
sample_output | ||
5/6
|
#include <stdio.h>
#include <stdlib.h>
long long GCD(long long a,long long b);
long long LCM(long long a,long long b);
main()
{
long long num1,num2,lcm,gcd,m,n,sum;
long long a1,a2;
while(scanf("%lld%lld%lld%lld",&a1,&num1,&a2,&num2)!=EOF)
{
lcm=LCM(num1,num2);
m=a1*(lcm/num1);
n=a2*(lcm/num2);
sum=m+n;
gcd=GCD(sum,lcm);
sum=sum/gcd;
lcm=lcm/gcd;
printf("%lld/%lld\n",sum,lcm);
}
}
long long GCD(long long num1,long long num2)
{
if (num1%num2==0)
{
return num2;
}
else
return GCD( num2,num1%num2) ;
}
long long LCM(long long a,long long b)
{
long long temp_lcm;
temp_lcm=a/GCD(a,b)*b;
return temp_lcm;
}