java算法:兔子生兔子

古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第四 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析:
兔子的规律为数列 1,1,2,3,5,8,13,21....

代码:

package com.qq.weixin;

public class exp2 {
    public static void main(String args[]) {
        int i = 0;
        for (i = 1; i <= 20; i++)
            System.out.println(f(i));
    }

    public static int f(int x) {
        if (x == 1 || x == 2)
            return 1;
        else
            return f(x - 1) + f(x - 2);
    }
}

或者另一种写法:

package com.qq.weixin;

public class exp2 {
    public static void main(String args[]) {
        int i = 0;
        math mymath = new math();
        for (i = 1; i <= 20; i++)
            System.out.println(mymath.f(i));
    }
}

class math {
    public int f(int x) {
        if (x == 1 || x == 2)
            return 1;
        else
            return f(x - 1) + f(x - 2);
    }
}

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页