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

最简分式概念_怎样才算最简分式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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中jbpm工作流_安卓框架

    java中jbpm工作流_安卓框架JBPM工作流框架应用导入jar包jbpm案例中获取配置文件,并配置本地数据库创建流程,并进行相关修改流程及流程内任务等的草操作importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importj

    2022年9月8日
    0
  • linux0.11_vim中输入linux命令

    linux0.11_vim中输入linux命令前言所有的UnixLike系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的

    2022年7月30日
    4
  • stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解

    stc15w4k32s4最小系统原理图_单片机最小系统原理图,求详细讲解展开全部我是一名单片机工程师,下面51单片机最小系统的讲解,你参考一下51单片机共有40只引脚.下面这个就是636f70793231313335323631343130323136353331333365653861最小系统原理图,就是靠这四个部分,这个单片机就可以运行起来了.我们来一,一讲解一下:1第一部分:电源组(标记为1的部分)40脚接电源5V(右上角),20脚接电源负极(左下角),在单片…

    2022年8月30日
    3
  • 认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg「建议收藏」

    认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg「建议收藏」一、Iconfont1.概述在前端作业中,二十年前只有页面中铺满文字就算上线产品,现如今,不加点俏皮的“图标”会让页面显得很Low很Low。图标在写这篇文章之前,我一直以为上图中的“图

    2022年8月5日
    3
  • JOURNAL OF MOLECULAR LIQUIDS_bert 知识蒸馏

    JOURNAL OF MOLECULAR LIQUIDS_bert 知识蒸馏这片论文是Hinton在15年提出的,为了提升模型的有效性,模型的复杂度的不断增加,上线实时提供服务成了难题,而知识蒸馏的思路正好可以解决这个问题,同时模型的效果相比复杂模型也不会下降太多。论文中以生物中蝴蝶变态发育作类比介绍知识蒸馏:通过不同的形态,完成同样的使命(任务)。Hinton提出可以通过一个简单模型直接学习复杂模型的概率分布结果,如果one-hot的目标是一种hard-targets,那么这种就是一种soft-targets。一种方法是直接比较logits来避免这个问题。具体地,对于每一.

    2022年8月11日
    11
  • 栈溢出

    栈溢出Author:Liedrahttps://www.cnblogs.com/LieDra/入门介绍学习自https://zhuanlan.zhihu.com/p/25816426对部分内容进行

    2022年7月4日
    24

发表回复

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

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