题目链接:https://www.nowcoder.com/pat/2/problem/251

这题本质上就是斐波那契数列

假设本题用红色的圆圈表示大兔子,黑色的圆圈表示小兔子,

解释样例:

1--1,因为收养的是一只小兔子(黑色),经过一天后变成大兔子(红色)

2--2,第二天大兔子生了一只小兔子,加上原来的总共两只(需要注意的是一旦小兔子变成大兔子,就一直是大兔子)

得到递归式:f[n]=f[n-1]+f[n-2]  当前兔子数=上一行大兔子+上上一行生的小兔子数

斐波那契数的实现有好几种方式:

1.递归,按照递推式

注意:第二行是断言,如果输入的值<=0直接报错

这种方法简单但是一旦数字比较大时就会超时(同一个数字计算的次数很多)于是引入第二种

2.迭代版本

注意:因为循环是从2开始的并且输出的是C因此在赋值的时候将C也赋值为1,当n=1的时候,自然也是1了。

3.利用数组记忆化(优化的另一种方式)

附别的类似的题型:

  1. https://www.nowcoder.com/pat/2/problem/258
  2. https://www.nowcoder.com/pat/2/problem/256
  3. https://www.nowcoder.com/pat/2/problem/253//这题有点意思

小兔子(PAT乙级练习题)相关推荐

  1. 终于刷完PAT乙级练习题

    今天终于刷完了PAT乙级练习题,从6月14号开始,本来计划一天两道题,开始时进度缓慢,一道题要好久,后面慢慢速度就上来了,最后20道拿来模拟计时训练,四次模拟总算是有提高. 晒一下排名,哈哈 木可堂主 ...

  2. PAT乙级练习题1030 完美数列

    题目: 给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. ...

  3. PAT乙级练习题1019 数字黑洞

    题目: 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑 ...

  4. PAT乙级练习题 1011 A+B和C

    1. 题目描述 给定区间[-2^31, 2^31]内的3个整数A.B和C,请判断A+B是否大于C. 输入描述: 输入第1行给出正整数T(<=10),是测试用例的个数.随后给出T组测试用例,每组占 ...

  5. PAT乙级资料集-2022.04.06

    pat乙级代码 pat乙级代码_wen_zhi的博客-CSDN博客 PAT乙级试题整理(二)--牛客网20分真题整理 PAT乙级试题整理(二)--牛客网20分真题整理_Dirichlet_zju的博客 ...

  6. Pat乙级 1049 数列的片段和

    Pat乙级 1049 数列的片段和 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/994805275792 ...

  7. Pat乙级 1045 快速排序

    Pat乙级 1045 快速排序 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/99480527858996 ...

  8. Pat乙级 1034 有理数四则运算

    Pat乙级 1034 有理数四则运算 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/99480528762 ...

  9. Pat乙级 1040 有几个PAT

    Pat乙级1040 有几个PAT 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/9948052823899 ...

最新文章

  1. 研究一下,如何实现一个文件系统
  2. Java相对路径/绝对路径总结(转)
  3. 【推荐】Flex与Flash组合开发最佳实践__Combain FlexFlash
  4. python中的print
  5. BmpEncrypt v3.20.1017 ++ 加密器
  6. iphonex如何关机_iPhoneX怎么关机 iPhoneX如何强制重启【详细步骤】
  7. 项目管理001---认识敏捷开发
  8. java suppliers_java8的Supplier
  9. 新闻丨智链万源受邀参加世界动物福利科学大会
  10. matlab二阶系统的单位阶跃响应为,2 二阶系统阶跃响应
  11. Android数据库大批量数据插入优化
  12. 关于IE无法打开站点XX已终止操作问题
  13. c语言变量 集体备课,(最新整理)数学集体备课活动记录2
  14. ksql kafka
  15. 干了这碗蛋炒饭 继续APP性能提升
  16. Java-Map-详解
  17. 读论文,衣物检索:Clothing Retrieval with Visual Attention Model(2017.10.31)
  18. 【DPABI教程】DPARSF详细教程笔记
  19. vsftpd详细配置
  20. 如何取消windows10升级更新

热门文章

  1. python编程入门 适合于零基础朋友-零基础能学好python吗?教女朋友学python是送命题吗?...
  2. python可以做什么-学会Python后都能做什么?网友们的回答简直不要太厉害
  3. python能做什么工作-学python后能找什么工作?Python是什么?
  4. php如何控制用户数,PHP统计当前在线用户数实例讲解
  5. windows mobile设置插移动卡没反应_u盘插入电脑没反应怎么办 u盘插入电脑没反应解决方法【详解】...
  6. python数据包发送给云平台_用python发送短消息(基于阿里云平台)
  7. angular中使用z-tree初始化之后,展开根节点不生效
  8. 【数据结构和算法笔记】插入排序(直接插入排序,折半插入排序)
  9. 动态规划:leetcode 416 分割等和子集(背包问题应用)
  10. Helm 3 完整教程(一):Helm 3 简介