求编写产生fibonacci数列前20项1,1,2,3,5,8,13................
#include<iostream>
using namespace std;
int Fibonacci(int index)
if( index == 1)
return 1;
if( index == 2)
return 1;
return Fibonacci(index - 1) + Fibonacci(index - 2);
int main()
cout << Fibonacci( 20);
return 0;
含义
当n>0,有Fn+2种这样的方法。因为当中只有一种方法不用使用2,就即1+1+...+1(n+1项),于是我们从 Fn+2减去1。
若第1个被加数是2,有 Fn种方法来计算加至n-1的方法的数目。
若第2个被加数是2、第1个被加数是1,有Fn-1种方法来计算加至 n-2的方法的数目。
重复以上动作。
若第n+1个被加数为2,它之前的被加数均为1,就有F0种方法来计算加至0的数目。