zoukankan      html  css  js  c++  java
  • 结构-02. 有理数加法

    结构-02. 有理数加法(15)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    乔林(清华大学)

    本题要求编写程序,计算两个有理数的和。

    输入格式:

    输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。

    输出格式:

    在一行中按照“a/b”的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。

    输入样例1:
    1/3 1/6
    
    输出样例1:
    1/2
    
    输入样例2:
    4/3 2/3
    
    输出样例2:
    2
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<stdlib.h>
     4 #include<string.h>
     5 int main()
     6 {
     7     struct rational
     8     {
     9         int a;
    10         int b;
    11     };
    12     rational x, y;
    13     scanf("%d/%d %d/%d", &x.a, &x.b, &y.a, &y.b);
    14     int i, m, n, k;
    15     m = x.a * y.b + y.a * x.b;
    16     n = x.b * y.b;
    17     k = m % n;
    18     if(k == 0)
    19         printf("%d
    ", m / n);
    20     else
    21     {
    22         int p, q, temp;
    23         p = m > n ? m : n;
    24         q = m < n ? m : n;
    25         while(q)
    26         {
    27             temp = p % q;
    28             p = q;
    29             q = temp;
    30         }
    31         printf("%d/%d
    ", m / p, n / p);
    32     }
    33 }
  • 相关阅读:
    Webpack打包原理
    Vue——VNode
    Vue——响应式原理
    HTTP2.0——头部压缩
    HTTP2.0
    浏览器打开2个页面会有几个进程?
    计算机网络——TCP如何保证可靠性
    操作系统——进程之间的通信
    前端路由hash与history下
    前端路由hash与history上
  • 原文地址:https://www.cnblogs.com/yomman/p/4243020.html
Copyright © 2011-2022 走看看