Java递归算法经典实例(经典兔子问题)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java递归算法经典实例(经典兔⼦问题)
题⽬:古典问题:3个⽉起每个⽉都⽣⼀对兔⼦,⼩兔⼦长到第三个⽉后每个⽉⼜⽣⼀对兔⼦,假如兔⼦都不死,问每个⽉的兔⼦总数为多少?
分析:⾸先我们要明⽩题⽬的意思指的是每个⽉的兔⼦总对数;假设将兔⼦分为⼩中⼤三种,兔⼦从出⽣后三个⽉后每个⽉就会⽣出⼀对兔⼦,
那么我们假定第⼀个⽉的兔⼦为⼩兔⼦,第⼆个⽉为中兔⼦,第三个⽉之后就为⼤兔⼦,那么第⼀个⽉分别有1、0、0,第⼆个⽉分别为0、1、0,
第三个⽉分别为1、0、1,第四个⽉分别为,1、1、1,第五个⽉分别为2、1、2,第六个⽉分别为3、2、3,第七个⽉分别为5、3、5……
兔⼦总数分别为:1、1、2、3、5、8、13……
于是得出了⼀个规律,从第三个⽉起,后⾯的兔⼦总数都等于前⾯两个⽉的兔⼦总数之和,即为斐波那契数列。
Java代码:
很经典的⼀个递归算法的例⼦。
以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!。