分数求和
2014-03-05 16:39
162 查看
Problem F: 分数求和
Time Limit: 1 Sec Memory Limit:128 MB
Submit: 270 Solved: 34
[Submit][Status][Web
Board]
Description
求两分数相加,输出结果。Input
题目有多组测试数据,直到文件尾。每组测试数据需要输入4个整数:
nume1, deno1为第一个数的分子和分母,
nume2, deno2为第二个数的分子和分母。
Output
两分数相加的结果。每个测试数据占一行。输出格式为“nume3/deno3”,该格式对结果为整数的情况除外。
分母为0的情况不考虑。
Sample Input
1 3 1 2 3 25 4 15 1 4 3 4 1 4 1 4
Sample Output
5/6 29/75 1 1/2
HINT
求最大公约数并约分,并注意分母为 1 时只需要输出分子。#include <iostream> using namespace std; int main () { int m,n,k,t,h,l,sum1,sum2,min; int max(int ,int ); //定义一个求最大公约数的函数 while( cin>>m>>n>>k>>t) //... { h=max(n,t); //求最大公约数h min=(n*t)/h; //求最小公倍数min sum1=m*(min/n)+k*(min/t); sum2=min; l=max(sum1,sum2);//判断分子,分母的最大公约数是不是1 if(sum2==1) cout<<sum1<<endl; else if(sum1%sum2==0) cout<<sum1/sum2<<endl; else { sum1=sum1/l; sum2=sum2/l; cout<<sum1<<'/'<<sum2<<endl; } } return 0; } int max(int v,int u) { int t,r; if(v>u) { t=u;u=v;v=t; } while((r=u%v)!=0) { u=v;v=r; } return (v); }
注意:似乎仍有小问题,欢迎指正!
相关文章推荐
- 分数序列规律求和
- poj 分数求和
- PAT CCCC天梯赛模拟赛 N个数求和(分数求和)
- 第八周 OJ 分数序列求和
- 分数序列求和
- 分数求和
- c语言实现分数数列求和
- c++上机实验四——分数的累积求和
- N个数求和(cccc分数求和—gcd)
- 分数求和
- 分数求和保留两位小数
- 两分数求和化最简【杭电-2503】 附题
- Openjudge-计算概论(A)-分数求和
- 1083 习题5-10 分数序列求和
- 例题2-8 分数求和。
- OpenJudge计算概论-分数求和
- C++第10周项目1参考——利用循环求和 【项目2-分数的累加】
- 分数求和
- HDOJ(HDU) 2156 分数矩阵(嗯、求和)
- 分数求和