一、递推算法思想
利用已知条件,逐步递推,直到得到结果为止。两种递推算法:顺推法、逆推法。
二、实例演练
(1)兔子繁殖问题。
代码实现:
#include "stdio.h" #define NUM 13 int main() { int i; long fib[NUM] = { 1, 1 };//定义一个拥有13个元素的数组,用于保存兔子的初始数量和每月的总数 //顺推每个月的总数 for (i = 2; i < NUM;i++) { fib[i] = fib[i - 1] + fib[i - 2]; } //循环输出每个月的总数 for (i = 0; i < NUM;i++) { printf("第%d月兔子总数:%d\n",i,fib[i]); } system("pause"); return 0; }
实现结果:
(2)银行存款问题
代码实现:
#include "stdio.h" #define FETCH 1000 #define RATE 0.0171 int main() { double corpus[49]; int i; corpus[48] = (double)FETCH; for (i = 47; i > 0;i--) { corpus[i] = (corpus[i + 1] + FETCH) / (1 + RATE / 12); } for (i = 48; i > 0;i--) { printf("%d月月末本利共计:%.2f\n", i, corpus[i]); } system("pause"); return 0; }
实现结果: