Num.1:递推算法
来源:互联网 发布:锁屏后软件关闭 编辑:程序博客网 时间:2024/05/20 02:52
递推算法
算法思路
递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西
- 顺推法:是指从已知条件出发,逐步推算出要解决问题的方法。例如斐波拉契数列。
- 逆推法:是指从已知的结果出发,用迭代表达式逐步推算出问题开始的条件。
顺推实例
#include <stdio.h>#define NUM 13int main(){ int i; long rabbit[NUM] = {1,1}; for(i=2;i<NUM;i++) { rabbit[i] = rabbit[i-1]+rabbit[i-2]; } for(i=0;i<NUM;i++) { printf("%d month rabbits total: %d\n",i,rabbit[i]); } getchar(); //getchar()没有参数,返回来自输入设备的下一个字符。停住界面观察结果 return 0;}
逆推实例
A上4年大学,假设银行的年利率为0.018,A每月从银行卡中取出1000元作为生活费,那么求解最开始存入银行卡的钱为多少?
求解过程:若在第48个月A毕业时来本带息取出100元,则要先求出第47个月时银行存款的钱数。
47月末存款 = 1000/(1+0.018/12);
46月末存款 = (47月末存款+1000)/(1+0.018/12)
依次类推
1月末存款 = (2月末存款+1000)/(1+0.018/12)
#include <stdio.h>#define RATE 0.018/12#define FETCH 1000#define MONTH 48int main(){ double money[MONTH+1]; //使下标和月份对应 int i; money[MONTH] = (double)FETCH; for(i=MONTH-1;i>0;i--) { money[i] = (money[i+1]+FETCH)/(1+RATE); } for(i=MONTH;i>0;i--) { printf("At month %d total: %.2f\n",i,money[i]); } getchar(); return 0;}
阅读全文
0 0
- Num.1:递推算法
- 递推算法(1)
- Num.3 递归算法
- Num.4 分治算法
- 递推算法
- 递推算法
- 递推算法
- 递推算法
- 递推算法
- 递推算法讲解
- 算法--递推策略
- 递推算法
- 递推算法
- 递推算法
- 递推算法
- 递推算法
- 递推算法思想
- 递推算法
- 安卓与串口服务器互联发送数据报文与接收数据报DatagramSocket.receive(参数体)接收不到数据报文
- hive分区表问题
- npm 项目更换目录后无法启动
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
- php查询字符的编码格式
- Num.1:递推算法
- oracle导入导出dmp文件
- 获取某个数内的质数
- apache 与 nginx 的区别
- Java 常用词汇
- 安卓实时显示时间
- 使用 Docker 搭建代码质量检测平台 SonarQube
- 关于Cewu Lu等的《Combining Sketch and Tone for Pencil Drawing Production》
- 在移动端实现一像素边框