Paste_Image.png
思路:
方法一:
遞歸:每次調(diào)用都需要在內(nèi)存棧中分配空間,需要時(shí)間和空間消耗;出現(xiàn)重復(fù)計(jì)算的問題;調(diào)用棧溢出
long Fabonacci(int n){
if(n=0)
return 0;
if(n=1)
return 1;
if(n>=2)
return Fabonacci(n-1)+Fabonacci(n-2)
}
出現(xiàn)重復(fù)計(jì)算
Paste_Image.png
方法二:
循環(huán)
int Fabonacci(int n){
int result [2]={0,1};
if(n<2)
return result[n];
int fibN=0;
int fibNMinusOne=1;
int fibNMinusTwo=0;
for(int i=2;i<=n;i++){
fibN= fibNMinusOne+ fibNMinusTwo;
fibNMinusTwo= fibNMinusOne;
fibNMinusOne=fibN;
}
return fibN;
}