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

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

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

示例 1:

输入:cont = [3, 2, 0, 2]
输出:[13, 4]
解释:原连分数等价于3 + (1 / (2 + (1 / (0 + 1 / 2))))。注意[26, 8], [-13, -4]都不是正确答案。

示例 2:

输入:cont = [0, 0, 3]
输出:[3, 1]
解释:如果答案是整数,令分母为1即可。

限制:

  1. cont[i] >= 0
  2. 1 <= cont的长度 <= 10
  3. cont最后一个元素不等于0
  4. 答案的n, m的取值都能被32位int整型存下(即不超过2 ^ 31 - 1)。

C++

class Solution {
public:int measure(int x, int y){   int z = y;while(x%y!=0){z = x%y;x = y;y = z;   }return z;}vector<int> fraction(vector<int>& cont) {vector<int> res;int n=cont.size();if(1==n){return {cont[0],1};}vector<int> tmp(2,0);for(int i=n-1;i>=0;i--){if(i==n-1){tmp[0]=1;tmp[1]=cont[i];}else if(i>0){int s1=tmp[1];int s2=tmp[0]+tmp[1]*cont[i];tmp[0]=s1;tmp[1]=s2;}else{int s1=cont[i]*tmp[1]+tmp[0];tmp[0]=s1;}}int mod=measure(tmp[0],tmp[1]);tmp[0]/=mod;tmp[1]/=mod;return tmp;}
};

leetcode LCP2 分式化简(C++)相关推荐

  1. Leetcode LCP2.分式化简

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

  2. leetcode lcp2 分式化简

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

  3. Leetcode 02.分式化简

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

  4. 求解leetcode分式化简

    #include <stdio.h>//leetcode 分式化简int arr[2]; int* fraction(int* cont, int contSize, int* retur ...

  5. 分式化简结果要求_初二数学期末复习,分式考点归纳,考点较多,解答要谨慎...

    期末考试马上就要来临了,作为初二的学生,分式这部分的内容考试中考点还是比较多的,选择题,填空题,解答题都会有题目出现,这部分的考点主要有分式有无意义的条件,分式值为0的条件,分式的概念,分式化简求值类 ...

  6. 分式化简结果要求_分式化简的结果有什么要求?

    分式的化简与求值 分式的有关概念和性质与分数相类似,例如,分式的分母的值不能是零,即分式只有在分母不等于零时才有意义;也像分数一样,分式的分子与分母都乘以(或除以)同一个不等于零的整式,分式的值不变, ...

  7. 分式化简结果要求_分式约分的结果是()

    分式加减乘除混合运算:分式的混合运算应先乘方,再乘除,最后算加减,有括号的先算括号内的,也可以把除法转化为乘法,再运用乘法运算. 分式化简:在数学上,化简是十分重要的概念,一些复杂难辨的式子,很多时候 ...

  8. C++学习之分式化简

    2021.12.1 C++学习之分式化简 C++学习之分式化简 题目来源于力扣 题目如下: 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有 ...

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

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

最新文章

  1. GRUB引导菜单加密
  2. Putty添加SSH Key
  3. UA MATH566 统计理论 QE练习题1
  4. 有效用例分析阅读笔记一
  5. Android UI线程和非UI线程
  6. gradle拷贝静态资源文件_Gradle-操作文件文件拷贝
  7. iNeuOS工业互联操作系统,图表与数据点组合成新组件,进行项目复用
  8. vue项目调用通用组件_详细解析:uniapp项目|vue组件形式实现的科技感loading纯CSS动效...
  9. 在线修改域控的IP和机器名
  10. Python学习之解释器的简单使用
  11. 【Matlab学习笔记】【函数学习】cat函数
  12. redis 的 key 设计原则
  13. CAD软件下载,打版,服装CAD设计软件
  14. IM TeamTalk流程分析
  15. Ceph Cache tier配置
  16. 百融大数据自助查询_【百融云创科技股份有限公司现在大数据公司被查,百融受影响了吗】-看准网...
  17. “拖延症”的良方-对于追求完美,自制力差,情绪化的人很受用
  18. 《树莓派项目实战》第四节 用LED点阵显示爱心
  19. SAP BAPI_EXCHANGERATE_GETDETAIL 读取货币汇率
  20. PPT文件没有密码解除限制编辑

热门文章

  1. Bowtie2去除污染的使用方法
  2. 【事务】本地事务和分布式事务的区别
  3. 计算机专业复试面试英语口语问题,考研复试英语口语面试经典问题集锦.doc
  4. docker 配置文件:etcdockerdaemon.json
  5. 中国知音导出mysql_MySQL常用函数,你真得看看!
  6. 论数据库的传统与未来之争之溯源溯本----AWS系列专栏
  7. 命运歌姬服务器停服维护中,命运歌姬2月27日更新什么?命运歌姬2月27日更新维护公告[多图]...
  8. 为你的vscode换个字体
  9. RS232 RS485 通信结构
  10. Linux工作计时提醒软件,使用Ubuntu命令完成定时提醒功能(预防rsi)