1.递推算法的思想:
利用已知的条件不断推导未知的信息。
2.递推算法的分类:
(1).顺推法 (2).逆推法
3.逆推算法的应用:
《斐波那契数列》
- 问题:斐波那契数列又叫兔子数
月数:1 2 3 4 5 6 7 8…
对数:1 1 2 3 5 8 13 21… - (1).解决核心思想:
将数字转化成一个公式模型 - (2).递推公式模型:
F ( 1 ) = F ( 2 ) = 1 F(1)=F(2)=1F(1)=F(2)=1
F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(n)=F(n-1)+F(n-2)F(n)=F(n−1)+F(n−2)
4.代码示例:
首先头文件分别定义stdio.h引用库函数
其次#define NUM 13
int main() { int i; int F[NUM] = { 1,1 };//保存兔子的初始数据 for (i = 2; i <NUM; i++) { F[i] = F[i - 1]+F[i - 2]; } for (i = 0; i < NUM; i++) printf("第%d月兔子总数:%d\n", i, F[i]); return 0; }
5.执行程序图: