2021.12.1 C++学习之分式化简

C++学习之分式化简

题目来源于力扣
题目如下:

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


连分数是形如上图的分式。在本题中,所有系数都是大于等于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即可。

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

这道题我的解法思路就是化简,先从最里面开始化简,把每个分母看成如下格式:

但最里面必有一个结果为1/an;例如根据样例 [3, 2, 0, 2],为

如何把a3变成我们需要的a+1/b就是关键,所以我们假设一个n/m,n=0,m=1;令最里面a3处实际为a3+0/1;但我们每次算完都是只计算了分母,故我们还需要将分子后分母颠倒。在最后时我们多颠倒了一次,故应该倒回来。
直接上代码:

class Solution {public:vector<int> fraction(vector<int>& cont) {int n=0,m=1;int tmp=0;int x = cont.size();for(int i=x;i>0;i--){n=cont[i-1]*m+n;tmp=n;n=m;m=tmp;}return vector<int>{m, n};     }
};

这道题就解开了。

C++学习之分式化简相关推荐

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

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

  2. Leetcode 02.分式化简

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

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

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

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

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

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

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

  6. 求解leetcode分式化简

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

  7. leetcode-Algorithms-LC-2 |分式化简

    原题 思路 如果想写出来统一的公式,那就是极其错误的思想. 可以每次都当成一个独立的 1/(A1+1/A2)的运算. 代码 package leetcode.LCP;public class Solu ...

  8. MATLAB符号运算之分式化简(基础)

    MATLAB常见的化简函数如下: pretty(f) 将符号表达式化简成与高等数学课本上显示符号表达式形式类似 collect(f) 合并符号表达式的同类项 horner(f) 将一般的符号表达式转换 ...

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

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

最新文章

  1. oracle定时器怎么开启,Oracle的定时器使用示例
  2. private 的访问权限
  3. 可以永久改变你的编程技巧的40个Tips
  4. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...
  5. 小鑫の日常系列故事(六)——奇遇记_JAVA
  6. Jquery函数大全 - 案例说明
  7. grid++中打印表格时怎么让每页有打印表头_1分钟!学会快速打印标题行,轻松搞定不加班...
  8. 逻辑回归(logistic regression)的本质——极大似然估计
  9. oracle 客户端 for mips,盒子里的世界: MIPS虚拟机(zt)
  10. 用 PHPRPC 实现 Ajax 安全登录
  11. Shell.FlyoutHeader
  12. aix系统怎么开启ftp服务器,liunx和aix 系统开启ftp服务
  13. Java学习的准备工作
  14. 别再用 offset 和 limit 分页了,性能太差!
  15. 参加2022 年第四届齐鲁工业大学(山东省科学院)与山东师范大学ICPC 大学生程序设计竞赛的总结
  16. C语言 输入一个不大于五位的数字,先判断是几位数字,然后将其数字顺序输出和逆序输出
  17. icns文件怎么打开_Mac快速生成icns图标文件 | kTWO-个人博客
  18. 推荐系统基础之矩阵分解
  19. 电脑开不了机计算机无法启动,电脑中毒了开不了机怎么回事_电脑中毒无法开机的解决步骤-win7之家...
  20. LeCun称梯度下降是最优雅的 ML 算法,Marcus:我不同意

热门文章

  1. winmm.lib库
  2. C语言 switch语句
  3. emacs chinese manual
  4. [思考] 程序员能靠纯技术渡过中年危机吗?
  5. 【Javascript】求两个对象的交集、差集
  6. xwiki开发者指南-编写一个XWiki组件
  7. java treemap字母排序_Java TreeMap对数字,英文字母,汉字等排序例子
  8. android工程换背景图片,Android初学者:用知乎Matisse开源项目制作更换应用背景图片功能...
  9. js怎么实现网站抓取手机号
  10. php教程燕十八_2PHP 3小时光速入门视频教程【燕十八】