【实例二】
斐波那契数列 采用自顶向下(备忘录)的方式
采用填表方式详情:动态规划法——斐波那契数列(填表)_海儿KING的博客-CSDN博客
【问题描述】
输入:n
输出:斐波那契数列对应的F(n)的值
【问题分析】
递推式如下:
代码如下:
#include<stdio.h>
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);
}
运行结果: