A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

问题说明:
      Fibonacci为1200年代的欧洲数学家,在他的著作中曾经提到:若有一只兔子每个月生一只小兔子,一个月后小兔子也开始生产。起初只有一只兔子,一个月后就有两只兔子,两个月后有三只兔子,三个月后有五只兔子(小兔子投入生产)……
    这就是Fibonacci数列,一般习惯称之为费式数列,例如:1,1,2,3,5,8,13,21,34,55,89,……

算法代码
public class Fibonacci {
    public static void main(String[] args) {
        int[] fib = new int[20]; //假设从一只兔子开始养了18个月,用int数组存储数据
        //先显示初始化两个元素
        fib[0] = 0;
        fib[1] = 1;
        //从索引2开始计算养兔子的月数,根据规律添加元素及遍历
        for(int i = 2; i < fib.length; i++) {
            fib = fib[i-1] + fib[i-2];         
            System.out.print(fib);
                if (i != fib.length-1)//用,号隔开输出的数字并在索引到最大之后不添加,号
                {
                        System.out.print(",");
                }               
        }
        System.out.println();//最后在控制台跳转至下一行
    }
}
运算结果是:1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181
当然了Fibonacci在理论上要有无限的公兔做种,并且有那么多的食物以及不会出现伤亡。

1 个回复

正序浏览
希望可以让一些想了解算法的哥们共同进步
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马