博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
斐波那契数列的应用
阅读量:5731 次
发布时间:2019-06-18

本文共 626 字,大约阅读时间需要 2 分钟。

先来看斐波那契数列的公式:

可以看出每一项等于前一项和前前一项的加和。看两种实现:

这种递归的版本虽然很方便阅读,但是程序的执行的效率很低。因为在计算的时候,重复计算了太多的中间结点,重复计算了太多的子问题。并且随着n的增大,重复计算的问题更加的严重。

int jumpFloor(int number){	if(number == 1 || number == 0)		return 1;	 	int fibOne = 1;	int fibTwo = 1;	 	int fibN = 0;	 	for(int i = 2; i <= number; i++)	{		fibN = fibOne + fibTwo;		 		fibOne = fibTwo;		fibTwo = fibN;	}	 	return fibN;}

  使用循环的方式就很大程度的增大了程序的执行效率。

当然斐波那契数列用很多的实际的应用:

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

  

 

转载于:https://www.cnblogs.com/stemon/p/4754121.html

你可能感兴趣的文章
好的产品原型具有哪些特点?
查看>>
实现java导出文件弹出下载框让用户选择路径
查看>>
刨根问底--技术--jsoup登陆网站
查看>>
awk学习笔记
查看>>
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
OSChina 周四乱弹 ——心有鱼,而力不足
查看>>
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗
查看>>
[译]是时候使用Javascript严格模式了
查看>>
Spring--通过注解来配置bean
查看>>
Spring Bean之间的关系
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
用Mysql5.6出现时间问题Incorrect datetime value: '' for column 'createtime'
查看>>
Pureftpd的权限控制
查看>>
微信授权登录
查看>>
IK分词器安装
查看>>
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>