当前位置: 代码迷 >> 综合 >> 动态规划法——斐波那契数列(填表)
  详细解决方案

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

热度:54   发布时间:2023-12-05 16:58:43.0

【实例一】

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

备忘录式详见:

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

【问题描述】

输入:n

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

 【问题分析】

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

【算法描述】

初始化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<stdio.h>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);
}

【运行结果】