斐波那契数列指的是:1,1,2,3,5,8,13,21,34,55...
除了第一个数和第二个数,从第三个数开始,后一个数是前两个数之和
2 = 1 + 1,3 = 2 + 1,5 = 3 + 2...
F(3) = F(2) + F(1)...
代码如下:
public static void main(String[] args) {
for (int i = 1; i <=10 ; i++) {
System.out.println(String.format("i = %d, result = %d", i, fibonacci(i)));
}
}
//斐波那契数,指的是:1,1,2,3,5,8,13,21,34,55....
//除了第一个数和第二个数是1以外,第三个数开始是前两个数之和
//f3 = f2 + f1 2=1+1
//f4 = f3 + f2 3=2+1
//f5 = f4 + f3... 5=3+2...
//fn = f(n-1) + f(n-2)
public static int fibonacci(int n){
if(n==1 || n==2){
return 1;
}
if(n<0){
return -1;
}
//返回前两个数之和
return fibonacci(n-1) + fibonacci(n-2);
}
运行结果: