LCP 02. 分式化简

难度简单

有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?

连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。

输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为1。

 解题思路

分式化简题目,首先想到的是通过一步一步计算,化简,寻找每一次变换,分子与分母之间的关系。

假如只有四项,分别是,根据题目中的公式从最底项开始算,得到以下结果:(a记录分式的分母,b记录分式的分子)

根据以上规律,得出结论

temp=a;

a=b;

b=temp+num[i]*b;

class Solution {public int gcd(int a,int b){return b==0?a:gcd(b,a%b);}public int[] fraction(int[] cont) {int n=cont.length;int res[]=new int[2];if(n==1){res[1]=1;res[0]=cont[0];return res;}int a=cont[n-1];//最后一个数字,保存分母int b=cont[n-2]*a+1;//保存分子,int fact;if(n==2) {fact=gcd(cont[0]*cont[1]+1,cont[1]);res[0]=(cont[0]*cont[1]+1)/fact;res[1]= cont[1]/fact;return res;}int i=n-3;while(i>=0){  int temp;temp=a;a=b;b=temp+cont[i]*b;fact=gcd(b,a);if(fact!=1){a=a/fact;b=b/fact;}i--;}    fact=gcd(b,a);b=b/fact;a=a/fact;res[0]=(int)b;res[1]=(int)a;return res;   }
}

Leetcode 02.分式化简相关推荐

  1. LCP 02. 分式化简-数学推导

    LCP 02. 分式化简-数学推导 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系 ...

  2. 【Python】【难度:简单】Leetcode LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  3. #力扣 LeetCode LCP 02. 分式化简 @FDDLC

    题目描述: https://leetcode-cn.com/problems/deep-dark-fraction/ Java代码: class Solution { //所有系数都是大于等于0的整数 ...

  4. Leetcode LCP2.分式化简

    题目描述 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图 ...

  5. LeetCode-Algorithms-[Easy]LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  6. 【简单】LCP 02. 分式化简

    [题目] 有一个同学在学习分式,他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式,在本题中,所有系数都是大于等于0的整数.输入的cont代表连分数的系数(cont[0]代表上图的 ...

  7. leetcode LCP2 分式化简(C++)

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  8. 力扣杯-竞赛合集-LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  9. leetcode lcp2 分式化简

    这道题用python中的Fraction模块就可以解决,关于它的用法可以参照如下: https://blog.csdn.net/jianxia1956/article/details/52727447 ...

最新文章

  1. mybatis中 Executor的设计与实现
  2. 0 有符号和无符号整型数字
  3. 隐私与AI兼得,蚂蚁金服是如何做到的?
  4. opencv为matlab,OpenCV与matlab部分函数的对应关系(转)
  5. VS 2019 for Mac 8.1 正式版和 8.2 预览版发布
  6. 我与布拉德利(Todd Bradley)聊天
  7. oracle 表复制 long,关于oracle的数据库的数据Long和Number的转化字段
  8. Leetcode392.判断子序列
  9. TIBCO Spotfire 入门指南
  10. 我的Android进阶之旅------android中一些特殊字符(如:←↑→↓等箭头符号)的Unicode码值
  11. webflux之reactor-Subscriber
  12. 计算机作业封面,西南交通大学离线作业封面-2016
  13. iOS Xcode提交IPA时收到苹果邮件ITMS-90338: Non-public API usage
  14. python学习(24) 使用Xpath解析并抓取美女图片
  15. UESTC论坛-清水河畔自动登陆/重复发贴/安全性分析
  16. Seq2Seq模型及Attention机制
  17. 面试官:为啥要axios 的二次封装呢 及其使用是干啥的
  18. 数通技术-网络层协议及IP编址
  19. 51单片机4G模块通信(EC03-DNC4G)
  20. Java游戏碟中谍,煮 Retrofit 论 RxJava(一)

热门文章

  1. 香农公式与编解码性能的联系
  2. php屏蔽外链,php去除外链的方法
  3. CSAPP深入理解计算机——bomblab(2018)
  4. 雨伞16骨好还是24骨好_雨伞伞骨越多越好吗
  5. python永真循环_python永真循环_Python学习(一)
  6. html学习之路教程001
  7. CATIA和SOLIDWORKS哪款软件更好学?
  8. 《车载ADAU1452音频音乐曲线调试》
  9. 《火球——UML大战需求分析》——详细介绍及样章下载
  10. 视频教程-嵌入式Linux开发基础-嵌入式