首页 存档 技术 查看内容

【算法专题1】斐波拉契数列(兔子算法)

2018-3-30 13:00 |来自: 互联网 466 0

摘要: 每年3、4、5月份,也是每年开年企业公司招聘的高峰期,同时有许多的朋友也出来找工作。我们称之为金三银四铜五! 算法虽然在平时测试和开发工作运用的不多(绝大部分都是用别人封装好的类),但是算法可以训练一个 ...

每年3、4、5月份,也是每年开年企业公司招聘的高峰期,同时有许多的朋友也出来找工作。我们称之为金三银四铜五!


算法虽然在平时测试和开发工作运用的不多(绝大部分都是用别人封装好的类),但是算法可以训练一个人思维敏捷性。


在很多世界一流大公司(比如:微软)不管测试还是开发,我记得当年的微软(2010年左右)一个外包边缘岗位的测试,也要熟悉简单的算法,笔者说的简单,等于计算机二级、三级算法难度题目。


从这期开始,金阳光收集了一些计算机三四级左右水平算法和大家慢慢分享。


算法专题1:兔子问题(斐波那契数列)

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

简单分析:

前2个月为2,当然我们认为2个月都是1只,第三个月3只。函数从第0个月开始算:


兔子的规律为数列1,1,2,3,5,8,13,21.... 前2为为0和1月,特殊情况。大家发现规律了,后一位等于前两个月之和。这就是斐波拉契数列的核心。


代码很简单

17行:传递x为第几个月的兔子数目

18行:前2个月很特殊,为2只兔子,我们默认为1

21是关键:前2个月之和


主函数测试下:


下面是运行结果

是不是很简单。

欢迎大家来稿分享自己测试和学习心得,来稿联系金阳光。qq邮箱:[email protected]








长按二维码-识别图中二维码




加入免费公益分享的大家庭吧!


让我们一起学习,快速成长。



长按二维码-识别图中二维码



声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部