首页 > 代码库 > 1.13.12
1.13.12
12:分数求和
描述
输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为1,则直接用整数表示。
如:5/6、10/3均是最简形式,而3/6需要化简为1/2, 3/1需要化简为3。
分子和分母均不为0,也不为负数。
输入第一行是一个整数n,表示分数个数,1 <= n <= 10;
接下来n行,每行一个分数,用"p/q"的形式表示,不含空格,p,q均不超过10。输出输出只有一行,即最终结果的最简形式。若为分数,用"p/q"的形式表示。样例输入
2 1/2 1/3
样例输出
5/6
1 #include <cmath> 2 #include <cstdio> 3 using namespace std; 4 int main() 5 { 6 int u=0,d=1,a,b,n; 7 scanf("%d",&n); 8 while(n--) 9 { 10 scanf("%d/%d",&a,&b); 11 u=u*b+d*a; 12 d*=b; 13 } 14 for(int i=2;i<=u&&i<=d;i++) 15 { 16 if(u%i==0&&d%i==0) 17 { 18 u/=i; 19 d/=i; 20 i=1; 21 } 22 } 23 if(d==1)printf("%d",u); 24 else printf("%d/%d",u,d); 25 return 0; 26 }
1.13.12
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。