题目描述
上帝创造了整数,所有其余的数都是人造的。
——克罗内克
已知有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 ",zi,mu); } return 0; }