递归
public class Fibonacci {
public static int fib(int n){
if(n < 0){
return 0;
}
else if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}
public static void main(String[] args) {
System.out.println(Fibonacci.fib(5));
}
}
非递归:
public class Fibonacci {
public static int fib(int n){
int first=1;
int second=1;
int sum=0;
if(n < 0){
return 0;
}
else if(n==1||n==2)
return 1;
else{
for(int i=2;i<n;i++){
sum=first+second;
first=second;
second=sum;
}
return sum;
}
public static void main(String[] args) {
System.out.println(Fibonacci.fib(7));
}
}