OJ.2480: 分数求和
2017-08-24 16:47
393 查看
2480: 分数求和
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 320 Solved: 52
[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 时只需要输出分子。
有点坑的一道题,由于一个小问题交了好多次,就是测试不出哪出问题了,最后终于发现是IF语句的问题。
#include <stdio.h> #include <stdlib.h> int gcd(int x,int y) { int r; while(y>0) { r=x%y; x=y; y=r; } return x; } int lcm(int x,int y) { return x*y/gcd(x,y); } int main() { int a,b,c,d; while(~scanf("%d %d %d %d",&a,&b,&c,&d)) { if(b==0||d==0) continue; int q,w; w=lcm(b,d); q=a*(w/b)+c*(w/d); int e=gcd(w,q); if(w==1) printf("%d\n",q); else if(q%w==0) printf("%d\n",q/w); else printf("%d/%d\n",q/e,w/e); } return 0; }一定要特别注意细节和格式,小细节可以毁掉一个程序。
相关文章推荐
- 1083 习题5-10 分数序列求和
- 分数求和
- 分数序列求和
- c++上机实验四——分数的累积求和
- N个数求和(cccc分数求和—gcd)
- 分数求和
- 例题2-8 分数求和。
- OpenJudge计算概论-分数求和
- 分数求和保留两位小数
- c语言实现分数数列求和
- C++第10周项目1参考——利用循环求和 【项目2-分数的累加】
- 两分数求和化最简【杭电-2503】 附题
- Openjudge-计算概论(A)-分数求和
- HDOJ(HDU) 2156 分数矩阵(嗯、求和)
- 1098 简单分数数列求和
- 分数求和
- 4.3趣味分数之多项式求和
- 分数求和
- HDOJ(HDU) 2156 分数矩阵(嗯、求和)
- 分数序列求和