首页 > 学院 > 开发设计 > 正文

HDU2503

2019-11-06 06:29:26
字体:
来源:转载
供稿:网友

a/b + c/d

Time Limit: 1000/1000 MS (java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13956    Accepted Submission(s): 7293PRoblem Description给你2个分数,求他们的和,并要求和为最简形式。 Input输入首先包含一个正整数T(T<=1000),表示有T组测试数据,然后是T行数据,每行包含四个正整数a,b,c,d(0<a,b,c,d<1000),表示两个分数a/b 和 c/d。 Output对于每组测试数据,输出两个整数e和f,表示a/b + c/d的最简化结果是e/f,每组输出占一行。 Sample Input
21 2 1 34 3 2 3 Sample Output
5 6

2 1

#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;int gcd(int n,int m){    int t,r;    if(m>n)    {        t=n;n=m;m=t;    }    while(m)    {        r=n%m;        n=m;        m=r;    }    return n;}int main(){    int t;    scanf("%d",&t);    while(t--)    {        int a,b,c,d,m,n;        int k;        scanf("%d%d%d%d",&a,&b,&c,&d);        n=a*d+c*b;        m=b*d;        if(n==m)            printf("1/n");        else            k=gcd(n,m);            printf("%d %d/n",n/k,m/k);    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表