斐波那契数列公式:
递归算法:
int Fibonacci(int n){
if(n<=0)
return0;
if(n==1)
return1;
returnFibonacci(n-1)+ Fibonacci(n-2);
}
非递归算法:
int Fibonacci(int n){
intresult[2]={0,1};
if(n<2){
returnresult[n];
}
intfibOne=1;
intfibTwo=0;
intfibN=0;
for(inti=2;i<=n;i++){
fibN=fibOne+fibTwo;
fibTwo=fibOne;
fibOne=fibN;
}
returnfibN;
}
与斐波那契数列相关的问题:
青蛙跳台阶问题:一只青蛙可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法?
根据第一次可以跳的台阶数可以将问题分成两部分,即f(n)=f(n-1)+f(n-2)。