滚动数组:
若要求斐波那契数列第n项(n>=2),F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)
因为每一步的递推只与前2步有关,所以只需要记录前2步的方案数,用滚动数组的话,就不需要开多余的空间。
1 int f[3]; 2 f[0] = 1; 3 f[1] = 1; 4 cin>>n; 5 for (int i = 2; i <= n; ++i) { 6 f[2] = f[1] + f[0]; 7 f[0] = f[1]; 8 f[1] = f[2]; 9 } 10 cout << f[2] << endl;