斐波那契数列实现方法总结

斐波那契数列

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

一、递归

什么是递归?
在一个方法内部对自身进行调用。
递归结构包括两个部分:
1、定义递归头,什么时候不调用自身方法,如果没有头,将陷入死循环,也就是递归的结束条件。
2、递归体,什么时候需要调用自身方法。

public class FibonacciSequence {
    public static void main (String args[]) {
        for (int i = 0; i < 100; i++) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入第n位数(n>=0):");
            if (scanner.hasNext()) {
                int number = scanner.nextInt();
                if (number < 0) {
                    System.out.println("注意n>=0,请重新输入!");
                    continue;
                }
                System.out.println("第" + (number + 1) + "位数为:" + getNumber(number));
            }
        }
    }
    public static int getNumber(int number){
        // 注意:int的取值范围为: -2^31——2^31-1,即-2147483648——2147483647
        if (number == 0) {
            return 0;
        } else if (number == 1 || number == 2) {
            return 1;
        } else {
            return getNumber(number - 1) + getNumber(number - 2);
        }
    }
}
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页