斐波那契数列的编程题,青蛙跳台
斐波那契数列的编程题,青蛙跳台
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
思路
分为最后一步只 跳一级台阶,说明到达了 n-1台阶,有 f(n-1) 种跳法
最后一步,跳2 级台阶,说明达到了 n-2 台阶, 有 f(n-2) 种跳法
所以到达 n台阶 有f(n) = f(n-1) + f(n-2) 种跳法
其实就是斐波那契数列,有一点区别
斐波那契数列 f(1) =1,f(2)=1
青蛙跳台阶 f(1) =1, f(2)=2
代码
int[] arr = new int[n+1];arr[1]=1;arr[2]=2;for(int i=3;i<=n;i++){arr[i] = (arr[i-1]+arr[i-2])%1000000007;}return arr[n];
或者
int a=1,b=2,sum;
for(int i=3;i<=n;i++){sum = (a+b)%1000000007;a=b;b=sum;
}
return sum;
斐波那契数列的编程题,青蛙跳台相关推荐
- python程序题斐波那契数列_Python编程题9--斐波那契数列
题目1 已知一个数列:1.1.2.3.5.8.13.--,其规律为从第3项开始,每一项都等于其前两项的和,这个数列就是斐波那契数列. 请求出符合斐波那契数列规律的第11项. 代码实现--非递归 def ...
- 斐波那契数列---兔子繁殖题
斐波那契数列-兔子繁殖题 如果说兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来.假设所有兔子都不会死去,能够一直干下去,那么一年以后可决繁殖多少对兔子呢? 斐波那契数列的迭代实现 ...
- lwy梦境中的斐波那契数列——诈骗签到题
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 lwy又在说梦话了!在梦境中,他遇到了一个和现实生活中不一样的斐波那契数列! 现实中的斐波那契数列: f(1)=1,f(2)=2f ...
- python程序题斐波那契数列_Python_经典题_斐波那契数列
古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月兔子总数是多少?(使用循环实现) 分析: 第一个月是1对 第二个月还是1对 第三个月是2对(因为第 ...
- 牛客网刷题java之(斐波那契数列)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 对于本题,前提只有 一次 1阶或者2阶的跳法. a.如果两种跳法, ...
- 【斐波那契数列】10题-斐波那契数列
1 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - ...
- 斐波那契数列编程python_fibonacci数列-斐波那契数列-python编程
未完待续~ 了解fibonacci数列: 斐波纳契数列(Fibonacci Sequence),又称黄金分割数列. 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610 ...
- c语言---c语言中的斐波那契数列程序
首先就要先了解何为斐波那契数列---斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故 ...
- 斐波那契数列使用递归的运行时间分析
前言 在这学期(大三上)去"蹭"了一次校招面试题,编程题中就有一道关于斐波那契数列的编程问题.如果不选择递归求解,就需要说明原因.当时还没怎么接触算法这方面的知识(笔者非科班),关 ...
最新文章
- java获取焦点的组件_JAVA组件焦点的特性:获取组件时其顶层组件必须为可见的...
- R语言sunburst图(sunburst plot)可视化实战:使用sunburstR包和ggplot2包进行可视化
- angularJS新增 品优购新增品牌
- 七牛技术总监陈超:记Spark Summit China 2015
- python不退出运行页面_如何在不完全退出Tkinter窗口的情况下停止正在运行的函数?...
- music算法_Elasticsearch系列---相关性评分算法及正排索引
- 音乐计算机融合课,融合信息技术的音乐课
- C++安全方向(二):2.5 Base58_比特币钱包地址_算法分析
- 官宣!CSDN 发布 C 站软件工程师能力认证
- optionMenu如何弹出
- Linux 中的vmlinuz
- NSA方程式工具利用与分析
- 普渡大学计算机科学竞争激烈,Top12普渡大学计算机博士全奖录取:同时收获Top博士和藤校耶鲁硕士录取!她该怎么选择?...
- matlab怎么表示二元函数,如何用Matlab画二元函数?
- Flutter开发:使用SafeArea(安全区域)
- npm 中报错3 errors and 3 warnings potentially fixable with the`--fix` option.
- R语言实验报告【全集】
- dedecms织梦搬家数据库导入失败
- OMIM 表型和基因如何关联
- 互联网公司的岗位英文简写
热门文章
- 2021年市政方向-通用基础(质量员)新版试题及市政方向-通用基础(质量员)考试总结
- 2023年杨建荣的新春书法祝福
- Android界面(一)——QQ空间说说界面
- css多行文字溢出隐藏为三个点(...)
- mysql怎样两表查询_mysql怎样两表查询?
- 通过脚本运行Simulink模型
- LINUX服务器的配置
- 教育教学知识与能力小学计算机,【小学教师资格证《教育教学知识与能力》:教育科学研究】- 环球网校...
- 医学知识-CTA(CT血管造影)
- 国家地理信息公共服务平台:平台还是软件?