// 递归算法
unsigned long feb(int n)
{
if((1 == n) || (2 == n)){
//cout << 1 << endl;
return 1;
}
else{
//cout << feb(n -1) + feb(n -2) <<endl;
return feb(n -1) + feb(n -2);
}
}
// 非递归叠加算法
void feb2(int n, vector<unsigned long> &fv)
{
//vector<unsigned long> fv;
fv.push_back(1);
fv.push_back(1);
if(n>2){
for(int i = 2; i<= n; ++i){
fv.push_back(fv[i-1] +fv[i-2]);
}
}
}
unsigned long feb3(int n)
{
if(n < 3){
return 1;
}else{
unsigned long fa = 1;
unsigned long fb = 1;
for(int idx = 3; idx <= n; idx += 2){
fa += fb;
fb += fa;
}
if(n%2){
return fa;
}else{
return fb;
}
}
}
Fibonacci数列
最新推荐文章于 2025-02-01 16:05:57 发布