动态规划法——斐波那契数列(备忘录)

【实例二】

斐波那契数列  采用自顶向下(备忘录)的方式

采用填表方式详情:动态规划法——斐波那契数列(填表)_海儿KING的博客-CSDN博客

【问题描述】

输入:n

输出:斐波那契数列对应的F(n)的值

【问题分析】

递推式如下:

动态规划法——斐波那契数列(备忘录)_第1张图片

代码如下:

#include

int fib[100] = { 0,1,1 };

int fun(int n)
{
	if (n <= 1) return n;
	else
	{
		for (int i = 2; i < n + 1; i++)
		{
			fib[i] = -1;
		}
		if (fib[n] != -1) return fib[n];
		else
		{
			fib[n] = fun(n - 1) + fun(n - 2);
			return fib[n];
		}
	}
}

int main()
{
	int n;
	scanf("%d", &n);
	int result = fun(n);
	printf("%d", result);
}

 运行结果:

你可能感兴趣的:(动态规划,算法)