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)=1 F(1)=F(2)=1F ( 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;
}