1.知识点
1.1什么是递推
递推算法是一种通过已知条件,利用特定关系得出中间推论,逐步递推,直到得到结果的算法,递推是一个不断利用己有信息推导出新的信息的过程。
1.2顺推法
所谓的顺推法就是指从已知条件出发,逐步推算出解决问题的方法,如斐波纳契数列就可以通过顺推法不断推算出新的数据
1.2逆推法
所谓逆推法就是从已知的结果出发用送代表达式逐步推算出问题开始的条件,即顺推法的逆过程。
2.题目
13世纪初欧洲数学家斐波那契在他著作《算盘书》中提出了一个有趣的题目:如果一对兔子每月能生一对小兔子,而每对小兔子在他出生后三个月里又能开始生一对小兔子假设在不发生死亡的情况下由一对初生的小兔子开始一年后会有多少对兔子?
其实就是斐波那契数列
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int fib[13] = {1,1};
int i;
for (i = 2; i <= 12; i++){
fib[i] = fib[i-1] + fib[i-2];
}
cout << fib[12];
return 0;
}
最后输出:233