java

兔子繁殖问题 : 斐波那契数列

兔子繁殖问题 : 斐波那契数列

分析

  • 遇到一个比较经典的问题: 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一对小兔,一年以后一共有多少对兔子。
  • 问题的关键在于小兔经过两个月才生小兔,也就是说一对小兔经过1月才成年,经过两月会生小兔,然后生下来的小兔又会成年和生小兔,这样一来,问题变得很复杂了,想想头都大了,还是动笔算吧。
经过月数0123456789101112
幼仔对数101123581321345589
成兔对数01123581321345589144
总体对数1123581321345589144233
  • 细心地你发现了吧, (n-2) + (n-1) = n;
  • 其实这就是著名的斐波那契数列, 也成黄金分割数列

java实现

  • 这种问题, 当然是递归了, 可以一起动手写写 :
    public static void main(String[] args) {
        System.out.println(fuc(12));
    }

    public static int fuc(int i){
        if (i == 1 || i == 2) {
            return i;
        } else {
          return fuc(i-2) + fuc(i-1);
        }
    }
    打印结果:233
  • 是不是so easy!

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
文章若有侵权请立即与我联系, 我将及时处理
微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

支付宝扫一扫,向我赞赏

回复

This is just a placeholder img.
Title - Artist
0:00