斐波那契问题

#include<iostream>
#define N 10
using namespace std;
int memo[N];
int fib(int n)
{
if(n<=1) return n;
if(memo[n] != 0) return memo[n];
return memo[n] = fib(n-1) + fib(n-2);
}
int main()
{
int i,n;
cin>>n;
cout<<fib(n);
return 0;

}

利用数组将结果储存起来,避免fib函数被计算多次,减少运算时间,把数组定义为全局变量自动初始化为0,减少赋值为0的时间

猜你喜欢

转载自blog.csdn.net/perception952/article/details/79513794