斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=f(5);//递归
//int num=fib1(5);//使用数组
//int num=fib2(5);//辗转相加
System.out.println(num);
}
//方法一
//递归
public static int f(int n){
if(n==1||n==2){
return 1;
}
return f(n-1)+f(n-2);
}
//方法二
//使用数组保存
public static int fib(int n){
if(n<0){
return -1;
}
int []a=new int[n];
a[0]=1;
a[1]=1;
for(int i=2;i<n;i++){
a[i]=a[i-1]+a[i-2];
}
return a[n-1];
}
//方法三
//辗转相加
public static int fib2(int n){
int s1,s2,i;
if(n<1)
return -1;
if(n==1||n==2)
return 1;
s1=1;
s2=1;
for (i = 3; i <=n; i++) {
s2=s1+s2;
s1=s2-s1;
}
return s2;
}
}