一个分数一般写成两个整数相除的形式: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

代码实现:

import java.io.*;
import java.util.ArrayList;/*** @author yx* @date 2022-07-23 18:19*/
public class Main {static PrintWriter out=new PrintWriter(System.out);static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in=new StreamTokenizer(ins);public static void main(String[] args) throws IOException {
//        System.out.println(gcd(3,7));String[] split=ins.readLine().split(" ");String[] split1=split[0].split("/");String[] split2=split[1].split("/");double a1=(Double.parseDouble(split1[0])/Double.parseDouble(split1[1]));double a2=(Double.parseDouble(split2[0])/Double.parseDouble(split2[1]));double K=Double.parseDouble(split[2]);double max=Math.max(a1,a2);double min=Math.min(a1,a2);boolean flag=false;for (int i = 0; i < (int) K; i++) {if (gcd(i, (int) K) == 1) {/*注意这个地方是<和>不是<=和>=*/if (i / K > min && i / K < max && flag) {System.out.print(" " + i + "/" + (int)K);}if (i / K > min && i / K < max && !flag) {System.out.print(i + "/" + (int) K);flag = true;}}}}static int gcd(int m,int n){return n==0?m:gcd(n,m%n);}
}

1062 最简分数(JAVA)相关推荐

  1. 1062最简分数c语言,1062 最简分数 (20分)C语言

    一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M1和 N2/M​2,要求你按从小到大的顺序列出它们之间 ...

  2. 1062. 最简分数(20)

    1062. 最简分数(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个分数一般写成两个整数相除的形式: ...

  3. C++学习之路 | PTA乙级—— 1062 最简分数 (20 分)(精简)

    1062 最简分数 (20 分) 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N ​1 ​​ /M ​1 ...

  4. 1062. 最简分数(20)-PAT乙级真题

    1062. 最简分数(20) 一个分数一般写成两个整数相除的形式:N/M,其中M不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按 ...

  5. PAT (Basic Level) Practise (中文)1062. 最简分数(20)

    1062. 最简分数(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个分数一般写成两个整数相除的形式: ...

  6. PAT Basic level 1062 最简分数 (20分)

    1062 最简分数 (20分) 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1 /M1和 N2/M2 , ...

  7. 1062 最简分数(PAT乙级 C++)

    题目 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M​1​​ 和 N​2/M​2​​ ,要求你按从小 ...

  8. PAT-乙级-1062 最简分数

    一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0. 最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数N​1​​/M​1​​ 和 N​2​​/M​2​​,要求你按从 ...

  9. PAT乙级 1062 最简分数 (20 分)

    一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M1和 N2/M2,要求你按从小到大的顺序列出它们之间分 ...

最新文章

  1. angular2 学习笔记 ( Http 请求)
  2. 用Java编写第一个区块链(二)
  3. .Net IOC框架入门之三 Autofac
  4. 0322 第一天 心得体会
  5. python getattr_来一点Python面向对象第一级进阶的东西
  6. 相机标定(三) —— 畸变校正
  7. 添加dubbo xsd的支持
  8. gtest测试框架使用详解_测试框架TestNG使用介绍
  9. C++游戏入门书籍推荐
  10. mysql常用系统函数归类
  11. #pragma onece
  12. tcp总结与简单实现
  13. php最基础的也是其最容易出错的地方
  14. MATLAB图像处理学习日记之__图像的K-means均值法与局部阈值和迭代式阈值分割法算法——整理资源汇总
  15. 阿里巴巴全资收购中国网络配送平台饿了么
  16. C程序设计第五版谭浩强课后答案 第八章习题答案
  17. 学计算机r7000和y7000哪个好,联想拯救者r7000p和y7000p哪个好-联想拯救者r7000p和y7000p评测对比...
  18. MP中的条件更新操作
  19. [CIKM 2019]Balance in Signed Bipartite Networks
  20. 锐评:泡沫中的token和被冷落的联盟链

热门文章

  1. [项目] 网易云音乐项目总结
  2. Arduino接收航模遥控器RC接收机的PWM数据
  3. win7连接共享“请检查名称的拼写.否则网络可能有问题”
  4. 外贸特殊付款方式的风险分析及控制
  5. PyGame “超级玛丽”游戏专题开篇——“变态超级玛丽”的诞生
  6. 在matlab中find是什么意思,Matlab中find函数的使用说明
  7. 月薪从11k到44k,一个普通程序员的三年涨薪之路...
  8. 抖音作品和直播间如何获取更多流量
  9. 从马云和任正非看创业的试错过程
  10. 笔记本电脑突然断网,intel wireless AC 9462驱动无法启动