2017年山科C语言期末考试
Problem L: 最简分式

Description
我们知道,5/3=1+3/5,称等号后面的式子为最简分式。也就是说,在分式中,分子一定要小于分母,而且分子、分母是互质的。请写一个程序,对于用户输入的一个合法分式,输出其约简之后的结果。

Input
输入有多行,每行是“m/n”的格式表示的一个分式,其中m和n都是int类型范围内的正整数。

输入至EOF结束。

Output
输出的行数与输入一致,且每行输出与上述输入一一对应。

如果约简后,分子部分是0,则只输出整数部分。

如果整数部分是0,则按照“j/k”的格式输出;

如果整数部分不是0,则按照“i+j/k” 的格式输出约简后的结果。

其中i、j和k分别是约简后的整数部分、分子部分和分母部分。

Sample Input

100/56
8/4
3/5

Sample Output

1+11/14
2
3/5

ans:

#include<stdio.h>
#include<stdlib.h>int getMin(int a,int b)
{if(a<b)return a;else   return b;
}int main()
{int m,n;while(scanf("%d/%d",&m,&n)!=EOF){if(m%n==0){//最简单的情况,直接输出m/nprintf("%d\n",m/n);}else if(m<n){//分子小于分母,分式形式,看是否要化为最简分式int min=getMin(m,n);for(int i=2;i<=min;i++){while(m%i==0&&n%i==0){m/=i;n/=i;}}printf("%d/%d\n",m,n);}else{//分子大于分母,拆分为一个整数加一个分式int len=0;while(m>n){len++;m-=n;}int min=getMin(m,n);for(int i=2;i<=min;i++){while(m%i==0&&n%i==0){m/=i;n/=i;}}printf("%d+%d/%d\n",len,m,n);}}return 0;
}

Problem L: 最简分式相关推荐

  1. HDU 6343.Problem L. Graph Theory Homework-数学 (2018 Multi-University Training Contest 4 1012)

    6343.Problem L. Graph Theory Homework 官方题解: 一篇写的很好的博客: HDU 6343 - Problem L. Graph Theory Homework - ...

  2. CERC17 Problem L - Lunar Landscape(差分,坐标系)

    CERC17 Problem L - Lunar Landscape Solution 如果只有AAA,我们可以简单地使用差分解决. 加入了BBB之后,可以把单位正方形用对角线拆成四个等腰Rt,统计等 ...

  3. Problem L: 卡拉兹猜想

    Problem Description 对任何一个自然数n(n!=0),如果它是偶数,那么就把它砍掉一半:如果它是奇数,就把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1. 对于 ...

  4. 1503 Problem A 最简分式

    Description 我们知道,5/3=1+2/3,称等号后面的式子为最简分式.也就是说,在分式中,分子一定要小于分母,而且分子.分母是互质的.请写一个程序,对于用户输入的一个合法分式,输出其约简之 ...

  5. Problem L 七段显示器显示整数

    Problem Description 编写程序,输入一个整数,使用字符模拟七段显示器来输出该数. 计算器.电子手表和其它电子设备经常依靠七段显示器进行数值的输出.为了组成数字,这类设备需要" ...

  6. Problem L: 定义哺乳动物类Mammal和Dog类

    Problem Description 定义哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象 //你的程序将被嵌在这里 int main() {         Dog d;   ...

  7. Problem L. Graph Theory Homework

    http://acm.hdu.edu.cn/showproblem.php?pid=6343 容易证明 ⌊a⌋+⌊b⌋≥⌊a+b⌋\lfloor \sqrt{a} \rfloor + \lfloor ...

  8. 11.3 作业 Problem L: 数字统计

    Description 给出一些数字,统计出现最多的数字的次数. Input 输入中第一行包含一个N,0 < N <= 500000. 后面N行每行包含一个数字k,0<=k<= ...

  9. Nwafu-Oj-1444 Problem l C语言实习题七——2.结构体数组的定义与引用

    问题 : C语言实习题七--2.结构体数组的定义与引用 时间限制: 1 Sec  内存限制: 128 MB 提交: 4459  解决: 2011 [提交][状态][讨论版] 题目描述 定义一个职工结构 ...

  10. Problem  L 求m到n之和 C语言函数

    题目描述 本题要求实现一个计算m~n(m< n)之间所有整数的和的简单函数. 函数接口定义: int sum( int m, int n ); 判测试程序样例:#include <stdi ...

最新文章

  1. arm开发板放张图片动起来_ARM裸机不能正确显示图片的问题
  2. linux-centos下源代码安装subversion (svn)
  3. 如何知道 CPU 是否支持虚拟化技术(VT)
  4. Visual Studio Team System 2008 安装失败
  5. Python 37 进程池与线程池 、 协程
  6. JQuery EasyUI之DataGrid列名和数据列分别设置不同对齐方式(转)
  7. *printf()格式化串安全漏洞分析(上)
  8. 在VS2019 C++ 中实现Socket通信,添加ws2_32.lib静态库
  9. ussd代码大全_USSD查询器app
  10. BMZCTF misc1
  11. word自带公式编辑_如何在word中调整公式大小
  12. 5种主流的移动端广告类型
  13. 防火墙阻止了IE服务器未响应,ie防火墙如何禁用
  14. box-sizing属性的的用法
  15. 【独立站运营】什么是营销转化率?如何提升转化率?
  16. iMX6UL开发板移植libcurl库
  17. 洛谷P5594-【XR-4】模拟赛(模拟)
  18. 红米k30 android版本,红米K30系列机型众多,傻傻分不清楚?看完这篇你就懂了
  19. 14个PPT资源素材网站,再也不怕做PPT了
  20. java字节流读取esc_什么是“esc”的VT100转义代码?键盘键本身

热门文章

  1. linux下nohup后台运行RSSHub等nodejs项目,开启与关闭
  2. Java 12 新特性
  3. 怎样在你的团队做 Code Review ?
  4. 汇报措辞:你懂得如何向领导汇报吗(审阅、审批、审阅、批示、查阅)?
  5. word把选择答案弄到题目里_将Word解答中的答案项批量填入题干
  6. Yolo 一小时学会基本操作
  7. CodeForces - 1117G
  8. zblog自动采集伪原创站群文章更新器
  9. 考勤系统(打卡时间计算)
  10. 华为OD机试(JAVA)真题22版