zoukankan      html  css  js  c++  java
  • 1062. 最简分数(20)

    原题: https://www.patest.cn/contests/pat-b-practise/1062

    思路: 我的思路是, 先把分数转成小数, 这样判断大小就非常简单. 一开始
    得了19分, 有个1分的测试点没过, 后来看了网上的, 发现是忘记考虑给出的
    2个分数, 没说谁大谁小.

    实现:

    #include <stdio.h>
    
    int  isSimple (int a, int b);
    
    int main (void) {
        double n1;
        double m1;
        double r1;
        double n2;
        double m2;
        double r2;
        double temp;
        int first = 0;
        int k;
        int i;
    
        scanf("%lf/%lf %lf/%lf %d", &n1, &m1, &n2, &m2, &k);
        r1 = n1 / m1;
        r2 = n2 / m2;
        // 默认r1 < r2, 如果不是则交换
        if (r1 > r2) {
            temp = r1;
            r1 = r2;
            r2 = temp;
        }
        for (i = 1; i / (double)(k) < r2; i++) {
            if (i / (double)(k) > r1) {
                if (isSimple(i, k) == 1) {
                    if (first == 0) {
                        printf("%d/%d", i, k);
                        first = 1;
                    } else {
                        // 这里有空格
                        printf(" %d/%d", i, k);
                    }
                }
            }
        }
    
        return 0;
    }
    
    // 1最简形式 0非最简形式
    int isSimple (int a, int b) {
        int i;
        for (i = 2; i <= a; i++) {
            if (a % i == 0 && b % i == 0) {
                return 0;
            }
        }
        return 1;
    }
    
    
  • 相关阅读:
    SQL——BETWEEN操作符
    SQL——IN操作符
    SQL——LIKE操作符
    SQL——ORDER BY关键字
    SQL——AND、OR运算符
    顺序执行
    流程控制
    集合类型
    字典类型
    字典 in 操作符
  • 原文地址:https://www.cnblogs.com/asheng2016/p/7898452.html
Copyright © 2011-2022 走看看