【实例一】
斐波那契数列 采用自底向上(填表)的方式
备忘录式详见:
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);
}
【运行结果】