zoukankan      html  css  js  c++  java
  • 1062 最简分数

    一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。

    现给定两个不相等的正分数 N1​​/M1​​ 和 N2​​/M2​​,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。

    输入格式:

    输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。

    输出格式:

    在一行中按 N/M 的格式列出两个给定分数之间分母为 K 的所有最简分数,按从小到大的顺序,其间以 1 个空格分隔。行首尾不得有多余空格。题目保证至少有 1 个输出。

    输入样例:

    7/18 13/20 12
    

    输出样例:

    5/12 7/12
    
     
    思路:列举出两个分数之间的分数再判断是否是最简分数输出即可......
     
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 #include<math.h>
     5 int panduan(int a,int b);
     6 int main()
     7 {
     8     double a1,a2,b1,b2,K;
     9     scanf("%lf/%lf %lf/%lf %lf",&a1,&a2,&b1,&b2,&K);
    10     int M=K;
    11     double s1,s2;
    12     s1=(a1*K)/a2;
    13     s2=(b1*K)/b2;
    14     if(s1<s2)
    15     {
    16         s1=(int)s1+1;
    17         int q=(int)s2;
    18         if(q==s2)
    19             s2--;
    20     }
    21     else if(s1>s2)
    22     {
    23         double temp=s1;
    24         s1=s2;
    25         s2=temp;
    26         s1=(int)s1+1;
    27         int q=(int)s2;
    28         if(q==s2)
    29             s2--;
    30     }
    31     int t=s2-s1+1;
    32     int num[t];
    33     for(int i=0;i<t;i++)
    34     {
    35         num[i]=s1;
    36         s1++;
    37     }
    38     int num1[t];
    39     int T=0;
    40     for(int i=0;i<t;i++)
    41     {
    42         if(panduan(num[i],K)==1)
    43             num1[T++]=num[i];
    44     }
    45     for(int i=0;i<T-1;i++)
    46         printf("%d/%d ",num1[i],M);
    47     printf("%d/%d",num1[T-1],M);
    48     return 0;
    49 }
    50 int panduan(int a,int b)
    51 {
    52     int c;
    53     c=a%b;
    54     while(c!=0)
    55     {
    56         a=b;
    57         b=c;
    58         c=a%b;
    59     }
    60     if(b==1)
    61         return 1;
    62     else
    63         return 0;
    64 }
    大佬见笑,,
  • 相关阅读:
    UVA297:Quadtrees(四分树)
    hive查询ncdc天气数据
    hadoop-hive查询ncdc天气数据实例
    servlet课堂笔记
    servlet课堂笔记
    代码 c++实现动态栈
    代码 c++实现动态栈
    代码,用c++实现线性链表
    代码,用c++实现线性链表
    后海日记(8)
  • 原文地址:https://www.cnblogs.com/xwl3109377858/p/10479614.html
Copyright © 2011-2022 走看看