個人代碼如下:
(1)遞歸:
long long Fbl(int n)
{
if(n == 1 || n == 2)
return 1;
return Fbl(n-2) + Fbl(n-1);
}
int main()
{
//1 1 2 3 5 8
cout<< Fbl(4);
return 0;
}
(2)非遞歸:
long long Fbl(int n)
{
if(n == 1 || n == 2)
return 1;
long long sum = 1;
long long front = 1, back = 1;
for(int i = 3;i <= n; ++i)
{
front = back;
back = sum;
sum = front + back;
}
return sum;
}
int main()
{
//1 1 2 3 5 8
cout<< Fbl(4);
return 0;
}