package pqs;
/**
* 0 1 2 3 4
* 0 1 1 2 3 5 8 13...
* 斐波那契数即前两项相加
*/
public class feibonaqishu {
/**
* 递归
* @param n
* @return
*/
public static int fib1(int n){
if (n <= 1) return n;
return fib1(n-1) + fib1(n-2);
}
/**
* 优化的算法
* @param n
* @return
*/
public static int fib2(int n){
if (n <= 1) return n;
int first = 0;
int second = 1;
for (int i=0; i < n -1;i++){
int sum = first + second;
first = second;
second = sum;
}
return second;
}
public static void main(String[] args) {
System.out.println(fib2(1));
}
}