题目描述

上帝创造了整数,所有其余的数都是人造的。

——克罗内克


已知有2个分数a、b,lw希望知道它们的和。

输入

多组数据(不超过100组)。

每组数据1行,包括2个分数a、b,用空格分割。

保证a、b是最简分数(即分子和分母互质),而且分子、分母都是不超过100的正整数。

输出

一个最简分数a+b。

--正文
水题
PS:不过有按格式读取还是方便,省不少事
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;

int zi1,zi2,mu1,mu2;
int gcd(int a,int b){
    if (a < b) return gcd(b,a);
    else {
        if (b == 0) return a;
        else return gcd(b,a % b);
    }
}
int main(){
    while (scanf("%d/%d %d/%d",&zi1,&mu1,&zi2,&mu2)!=EOF){
        int zi = zi1 * mu2 + zi2 * mu1;
        int mu = mu1 * mu2;
        int g = gcd(zi,mu);
        zi/=g; mu/=g; 
        printf("%d/%d\n",zi,mu);
    } 
    return 0;
}

 

posted on 2016-11-21 10:31  Crutain  阅读(215)  评论(0编辑  收藏  举报