1447.最简分数

问题:给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于 n最简 分数 。分数可以以 任意 顺序返回。

示例:

输入:n = 2
输出:["1/2"]
解释:"1/2" 是唯一一个分母小于等于 2 的最简分数。输入:n = 3
输出:["1/2","1/3","2/3"]输入:n = 4
输出:["1/2","1/3","1/4","2/3","3/4"]
解释:"2/4" 不是最简分数,因为它可以化简为 "1/2" 。输入:n = 1
输出:[]

思路:辗转相除法求最大公约数

辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

class Solution {public List<String> simplifiedFractions(int n) {List<String> res = new ArrayList<>();for(int i = 1; i < n; i++){for(int j = i + 1; j <= n; j++){if(gcb(i, j) == 1){res.add(i + "/" + j);}}}return res;}//求a, b的最大公约数   用较小数除较大数得到的余数,作为下一轮的较小数private int gcb(int a, int b){return b == 0 ? a : gcb(b, a % b);}
}

整理思路,记录博客,以便复习。若有误,望指正~

leetcode----1447.最简分数(辗转相除法求最大公约数)相关推荐

  1. 利用辗转相除法——求最大公约数(详解)

    辗转相除法 求最大公约数: 给定两个数,求这两个数的最大公约数 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数.应用领域有数学和计算机两个方面.计算公式gcd(a,b) = g ...

  2. 多项式辗转相除法求最大公约数_辗转相除法求最大公约数

    辗转相除法求最大公约数 约数 如果数 a 能被数 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数. 最大公约数 最大公约数就是两个数中,大家都能相约且最大的数. 辗转相除法 辗转相除法又名欧 ...

  3. 辗转相除法求最大公约数原理分析(附代码实现)

    辗转相除法求最大公约数原理分析(附代码实现) 前言 解释 原理分析 代码 结语 前言 辗转相除法用起来很简单,但是其原理却自己想不明白.于是乎看了几篇有关辗转相除法原理的分析,在这里自己写下自己的理解 ...

  4. c语言辗转相除法约分分数,更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)...

    假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m* ...

  5. P30-P32:逻辑类型,保留小数的输出,辗转相除法求最大公约数

    ** P30-P32(逻辑类型,保留小数的输出,辗转相除法求最大公约数): ** boolean 代码作用如同上述代码中的isPrime,会用到boolean,将isPrime的int类型改为逻辑类型 ...

  6. 辗转相除法求最大公约数(Python)

    辗转相除法求最大公约数(Python) #辗转相除法 #1大数除以小数得到余数 #2用余数除以1中的除数得到余数 #3重复2直到余数等于0返回除数即为两数的最大公约数 def eucAlg(a,b): ...

  7. python辗转相除法求最大公约数最小公倍数_辗转相除法求最大公约数/最小公倍数...

    http://blog.csdn.net/jtujtujtu/article/details/4407171 2009 辗转相除法求最大公约数: 辗转相除法, 又名欧几里德算法(Euclidean a ...

  8. 辗转相除法求最大公约数,非goto

    1 #include<iostream> 2 using namespace std; 3 //不推荐用goto,当然用它更快 4 //辗转相除法求两数的最大公约数 5 int gcd(l ...

  9. 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...

    给你打个比喻吧:你英雄救美了,美女想要报答你,你想要1000块感谢费,但是美女却想要以身相许 ,懂了吧,同样都是报答,只是用了不一样的方式,辗转相除法也是这样,你两个数的最大公约数不容易求,我就用另外 ...

最新文章

  1. python【蓝桥杯vip练习题库】BASIC-16分解质因数(数论 质数分解)
  2. python表白代码如何运行-程序员如何实现表白代码
  3. Java TheadLocal
  4. 华为 鸿蒙 操作系统关键特性解读
  5. [转载] Python max() 方法
  6. Zend Studio 10 phpFormatter 错误的解决
  7. 回溯法——素数环C++实现
  8. MCS-51子程序库-1
  9. html css纯写桌球运动轨迹,纯JS实现椭圆轨迹运动的代码
  10. Spring框架初学习
  11. 【洛谷】P3957 [NOIP2017 普及组] 跳房子
  12. JAVA生成二维码链接(扫描二维码后进行指定链接跳转)--全网最详细
  13. 秣小白的C语言旅程——第一站
  14. 全球与中国小龙虾市场深度研究分析报告
  15. DropWizard框架里关于异常统一处理实践
  16. KK今年生日又给了103个建议,我最喜欢这33个
  17. David P.Williams论文系列 基于间隙度的声呐图像快速无监督海底特征描述
  18. sunny-ngrok linux命令,ngrok使用
  19. Win10磁盘管理的简单卷、带区卷、跨区卷、镜像卷学习测试
  20. 药一点医疗器械管理系统——养护功能

热门文章

  1. iOS8.1.3下Inhouse App无法安装问题
  2. android手机的Mic对声音的感知
  3. Python 与数据库交互的封装(MySQL,SQLServer,SQLite)
  4. 我们为什么要去月球“吃土”?
  5. 2022-04-12 redis过期key删除策略
  6. 智能导诊——融威众邦
  7. creo 6.0—08、09:矩形草图绘制、圆形草图绘制。
  8. 网站互点工具_如何利用关键词互点互刷提升网站关键词排名?
  9. 解决 Element的el-input 密码输入框浏览器自动填充账号密码问题
  10. 股票自动委托下单html,股票怎么设置自动挂单?股票挂单的方式(2)