动态规划法——斐波那契数列(填表)

【实例一】

斐波那契数列  采用自底向上(填表)的方式

备忘录式详见:

https://blog.csdn.net/qq_61993592/article/details/121888912?spm=1001.2014.3001.5501

【问题描述】

输入:n

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

 【问题分析】

根据斐波那契数列的性质可得出以下递推式

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

【算法描述】

初始化fib[0]=0;fib[1]=1,fib[2]=2

输入:n

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

当n<=2时,return 1;

当n>2时;

将计算所得的值放入数组fib[]中;

循环计算每一个值fib[i] = fib[i - 1] + fib[i - 2];

return fib[n];

 【算法实现】

#include

int fib[100] = { 0, 1, 1};                           //初始化表格元素

int F(int n)
{
	if (n < 2) return n;
	else
	{
		for (int i = 2; i <= n ; i++)
		{
			fib[i] = fib[i - 1] + fib[i - 2];        //计算填表
		}
		return fib[n];
	}
}

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

【运行结果】

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