这篇文章讲述的是算法趣味分数部分的列出真分数序列问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。

问题描述

按递增顺序依次列出所有分母为40,分子小于40的最简分数。最简分数是分子、分母只有公因数1的分数叫最简分数或者说分子分母互质的分数是最简分数。

算法分析

  • 先穷举出分子的所有情况,再判断出每种情况是否满足条件:分子分母的最大公约数为1
  • 时间复杂度:O(n*log n) , 空间复杂度:O(1)

代码实现

package fraction;
/*** @author 叶清逸* @date 2018年7月28日下午9:57:52* @version 1.0* @project fraction*/
public class Q5_TrueFractionSequence {/*** 问题描述:按递增顺序依次列出所有分母为40,分子小于40的最简分数。最简分数是分子、分母只有公因数1的分数叫最简分数或者说*          分子分母互质的分数是最简分数。* * 算法分析:先穷举出分子的所有情况,再判断出每种情况是否满足条件:分子分母的最大公约数为1* * 复杂度分析:时间复杂度:O(n*log n) , 空间复杂度:O(1)*/public static void main(String[] args) {int num = 0 ;/*循环判断1-40每种情况是否符合要求*/for(int i=1 ; i<40 ; i++){/*辗转相除求出i和40的最大公约数*/int b = 40 ;int a = i ;while(b%a != 0){//k保存余数int k = b%a ;//除数变为b = a ;//被除数变为余数a = k ;}int gcd = a;/*若最大公约数为1则满足条件,输出*/if(gcd == 1){System.out.print(i+"/"+40+" ");num++ ;/*每8个换一行*/if(num%8 == 0)System.out.println();}}System.out.println("共"+num+"个");}
}

样例输出

1/40 3/40 7/40 9/40 11/40 13/40 17/40 19/40
21/40 23/40 27/40 29/40 31/40 33/40 37/40 39/40
共16个

算法_趣味分数_Question5_列出真分数序列(java实现)相关推荐

  1. 算法_趣味分数_Question7_分数比大小(java实现)

    这篇文章讲述的是算法趣味分数部分的分数比大小问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评指正. 问题 ...

  2. 算法_数学问题_Question5_出售金鱼(java实现)

    这篇文章讲述的是算法初级部分的出售金鱼问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评指正. 问题描述 ...

  3. 真分数c语言,C语言列出真分数序列代码及解析

    原标题:C语言列出真分数序列代码及解析 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数, ...

  4. 算法_数学问题_Question11_换分币(java实现)

    这篇文章讲述的是算法初级部分的换分币问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评指正. 问题描述 将 ...

  5. java 地图四色着色算法_趣味地图系列之6 四色定理之我见

    四色定理(four color map theorem)是一个著名的数学定理[1],即对任意的(平面上的)地图染色,要求相邻的国家颜色不同,四种颜色即可完成着色. 南非数学家法兰西斯·古德里在1852 ...

  6. 算法_数学问题_Question1_计算个人所得税(java实现)

    这篇文章讲述的是算法初级部分的算法数学问题计算个人所得税问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的<c语言趣味编程1000例>,如有错误或者不当之处,还望各位大神批评 ...

  7. java 树状数据算法_使用递归算法结合数据库解析成Java树形结构的代码解析

    这篇文章主要介绍了使用递归算法结合数据库解析成Java树形结构的代码解析的相关资料,需要的朋友可以参考下 1.准备表结构及对应的表数据 a.表结构:create table TB_TREE ( CID ...

  8. java青蛙过河打字_趣味算法——青蛙过河(JAVA)

    青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...

  9. Python_机器学习_算法_第4章_4.决策树算法

    Python_机器学习_算法_第4章_4.决策树算法 文章目录 Python_机器学习_算法_第4章_4.决策树算法 决策树算法 学习目标 4.1 决策树算法简介 学习目标 小结 4.2 决策树分类原 ...

最新文章

  1. Android学习笔记进阶九之Matrix对称变换
  2. Mac 完全卸载 Java
  3. 正则提取字符串-python
  4. 某业务自助开通账户问题排查
  5. 分析 C# 2.0 新特性 -- 空类型(Nullable Types)
  6. FPGA 状态机设计
  7. mybatis的mapper.java_mybatis笔记之使用Mapper接口注解
  8. Nosql进阶笔记之redis MongoDB
  9. hdu 5443 The Water Problem 线段树
  10. java使用泛型_Java 泛型
  11. ​阿里云SAE助力百富旅行实现Serverless+微服务完美结合
  12. 股市最好用的大数据软件_最实用的5款炒股软件
  13. 6月读书《有效的管理者》笔记
  14. 习题8-5 折纸痕(Paper Folding, UVa177)
  15. m基于数字锁相环DPLL的分频器simulink仿真
  16. 使用racoon setkey搭建IPsec环境
  17. 云栖大会 mysql_【资料合集】2018云栖大会•深圳峰会回顾:PDF下载
  18. M - Help Hanzo
  19. Xposed框架初次见面-开发自己的Xposed插件
  20. vue集成svg-sprite-loader

热门文章

  1. lazada数据分析采集软件,各国市场第一视角帮你分析!
  2. 组织机构代码和统一社会信用代码校验规则以及java校验工具类
  3. 蜜雪冰城23年创业史:关门3次,被拆4次,创始人被弟弟怼出局
  4. 阿狸表情图采集代码示例
  5. PotPlayer播放DST音频的mkv电影解码错误
  6. 虚拟化技术-什么是SAN存储?
  7. 计算机会计技术特点,会计电算化系统的特点
  8. TensorFlow基础(1)特点安装基本用法
  9. TestBird《2021中国手游测试白皮书》---国内手游
  10. 医疗his系统值不值得投入使用