最简分式概念_怎样才算最简分式

最简分式概念_怎样才算最简分式ProblemL:最简分式Description我们知道,5/3=1+3/5,称等号后面的式子为最简分式。也就是说,在分式中,分子一定要小于分母,而且分子、分母是互质的。请写一个程序,对于用户输入的一个合法分式,输出其约简之后的结果。Input输入有多行,每行是“m/n”的格式表示的一个分式,其中m和n都是int类型范围内的正整数。输入至EOF结束。Output输出的行数与输入一致,且每行输出与上述输入一一对应。如果约简后,分子部分是0,则只输出整数部分。如果整数部分是0,则按照“j/

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

Jetbrains全家桶1年46,售后保障稳定

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/n
            printf("%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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222883.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月3日 下午12:22
下一篇 2025年7月3日 下午1:01


相关推荐

  • 主流大数据存储解决方案评析

    主流大数据存储解决方案评析EMC Isilon:横向扩展 性能突出大数据存储不是一类单独的产品,它有很多实现方式。EMC Isilon存储事业部总经理杨兰江概括说,大数据存储应该具有以下一些特性:海量数据存储能力,可轻松管理PB级乃至数十PB的存储容量;具有全局命名空间,所有应用可以看到统一的文件系统视图;支持标准接口,应用无需修改可直接运行,并提供API接口进行面向对象的管理;读写性能优异,聚合带宽高达数GB乃至数十GB…

    2022年6月2日
    49
  • 1123581321递归算法_线性递归数列例题

    1123581321递归算法_线性递归数列例题[BZOJ3231][Sdoi2008]递归数列题目大意给定Ci,i∈[1,k]给定C_i,i\in[1,k]定义若i>k,Ai=Ai−1∗C1+Ai−2∗C2+⋯+Ai−k∗Ck若i>k,A_i=A_{i-1}*C_1+A_{i-2}*C_2+\cdots+A_{i-k}*C_k否则Ai=Bi否则A_i=B_i询问sum(A)n−sum(A)m−1询问sum(A)_n-sum(A

    2025年10月30日
    5
  • 进化算法_差分进化算法图解

    进化算法_差分进化算法图解神经进化正在复兴。主要的人工智能实验室和研究人员正在试验它,一丝新的成功点燃了更多的热情,能对于深度学习产生影响的新机遇正在出现。也许你在深度学习所有的激动人心的时刻并没有听到过神经进化,但它只是潜行

    2022年8月2日
    12
  • css 居中几种方法

    css 居中几种方法记录下好文 https www w3cplus com css elements horizontally center with css html

    2026年3月18日
    2
  • 如何获取腾讯元宝(Tencent Yuanbao)API调用所需的Access Token?

    如何获取腾讯元宝(Tencent Yuanbao)API调用所需的Access Token?

    2026年3月13日
    6
  • 一次xxoo提权[通俗易懂]

    一次xxoo提权[通俗易懂]数据库root权限。然并卵。看了一下phpinfo得知是mysql5.0的然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了。然而数据库这条路是GG了OS名称:MicrosoftWindowsServer2008R2Enterprise修补程序:安装了1个修补程序。然后各种e…

    2022年7月17日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号