斐波那契数列(剑指offer)
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39 ,f(n) = f(n-2) + f(n-1).
解法1:递归就行
public class Solution {
public int Fibonacci(int n) {
递归
if(n==0){
return 0;
}else if(n==1){
return 1;
}
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
解法2:循环
public class Solution {
public int Fibonacci(int n) {
int data1 = 0;
int data2 = 1;
int result = 0;
if(n == 0){
return 0;
}else if(n == 1){
return 1;
}else{
for(int i=2;i<=n;i++){
result = data1+data2;
data1 = data2;
data2 = result;
}
}
return result;
}
}