什么是裴波那契数列?裴波那契数列是以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34……即从第3个数开始,F(n)=F(n-1)+F(n-2),所以斐波纳契数列以如下方法定义:
F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)(n>=4,n∈N*)
// 1、1、2、3、5、8、13、21、34
/**
* 迭代法
*/
public static int peiBo(int n) {
if (n <= 0)
return 0;
int a = 0;
int b = 1;
while (n > 0) {
b = a + b;
a = b - a;
n--;
}
return a;
}
/**
* 递归
*/
public static int peiBoDiGui(int n) {
if (n <= 0)
return 0;
if (n == 1)
return 1;
return peiBoDiGui(n - 2) + peiBoDiGui(n - 1);
}
public static int jumpFloor(int target) {
if (target <= 0)
return 0;
if (target == 1)
return 1;
if (target == 2)
return 1;
if (target == 3)
return 2;
int a = 1;
int b = 2;
while (target > 2) {
b = a + b;
a = b - a;
target--;
}
return a;
}
public static void main(String[] args) {
System.out.println(peiBo(9)); // 34
System.out.println(peiBoDiGui(9)); //34
System.out.println(jumpFloor(9)); //34
}