zoukankan      html  css  js  c++  java
  • (HDOJ 2503)a/b + c/d

    Problem 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
    2
    1 2 1 3
    4 3 2 3
     
    Sample Output
    5 6
    2 1
     
     1 #include<stdio.h>
     2 #include<math.h>
     3 #define N 10
     4 
     5 int gcd(int a,int b) 
     6 {
     7     int r,t;
     8     if(a<b)
     9     {
    10      t=a;
    11      a=b;
    12      b=t;
    13      }
    14     while(b)
    15     {
    16       r=a%b;
    17       a=b;
    18       b=r;
    19    }
    20    return a;
    21 }
    22 
    23 int lcm(int m,int n)
    24 {
    25      int a;
    26      a=gcd(m,n);
    27      return n*(m/a);
    28 }
    29 
    30 int main()
    31 {
    32      int a,b,c,d;
    33      int m,n,t;
    34      int T;
    35      while(scanf("%d",&T)!=EOF)
    36      {
    37          while(T--)
    38          {
    39              scanf("%d %d %d %d",&a,&b,&c,&d);
    40              m=lcm(b,d);
    41                n=a*(m/b)+c*(m/d);
    42             t=gcd(m,n);
    43             m=m/t;
    44             n=n/t;
    45             printf("%d ",n);
    46             printf("%d\n",m);
    47          }
    48      }
    49  return 0;
    50 }
  • 相关阅读:
    二叉树基本操作(二)
    二叉树基本操作(一)
    数组的方式实现--栈 数制转换
    数据的插入与删除
    链表 创建 插入 删除 查找 合并
    ACM3 求最值
    ACM2 斐波那契数列
    ACM_1 大数求和
    简单二维码生成及解码代码:
    ORM中去除反射,添加Expression
  • 原文地址:https://www.cnblogs.com/cpoint/p/3011398.html
Copyright © 2011-2022 走看看