八大算法思想二——递推法
聪明一点的递推法
递推法:犹如稳重的老将,使用的就是“稳扎稳打”的策略,不断利用现有的信息推导出新的东西,在日常使用中有两种方法:
1,顺推法:从已知的条件出发,逐步推导得到解决问题的方法,例如斐波那契数列
2,逆推法:从已知的结果出发,用迭代的表达式逐步推出问题的开始条件
注意:
1,使用条件:当结果要运用上一次得到的结论
2,迭代对象及迭代次数
以下为两个典型的例子:
用java编写
public class recurre {// 顺推法
// 斐波那契数列
// 兔子繁殖问题
// 兔子只有在两周后才有繁殖能力
public void rabbit( int mouth){int llast=0;int last=0;int num=0;for (int i=1;i<=mouth;i++){if (i==1){llast=0;last=0;num=1;System.out.println("第"+i+"月"+",兔子数量为:"+num);}else if (i==2){llast=last;last=num;num=1;System.out.println("第"+i+"月"+",兔子数量为:"+num);}else {llast = last;last = num;num = llast + last;System.out.println("第" + i + "月" + ",兔子数量为:" + num);}}
}
// 逆推法
// 4年大学生活费,月末取,整存零取,每月月底取下一个月生活费,
// 年利息0.0171,最后取1000元,求至少存多少
public void deposid(int mouth){// 第48个月末取的钱double money=1000;double rate=0.0171;for (int i=mouth;i>0;i--){if(i==mouth){money=money/(1+rate/12);}else {money=(money+1000)/(1+rate/12);}System.out.println("第"+i+"个月末存:"+money);}System.out.println("则至少应存:"+money);}
public static void main(String[] args) {recurre a=new recurre();a.rabbit(12);a.deposid(48);
}
}
结果:
八大算法思想二——递推法相关推荐
- 算法设计 之 递推法
2019独角兽企业重金招聘Python工程师标准>>> 递推法就是根据已知条件,分析推导出问题中的联系,然后一步一步进行推倒直至得到结果. 根据具体问题我们需要选择是正推还是逆推来解 ...
- 递归下降分析法的基本思想。_还不懂这八大算法思想,刷再多题也白搭!
各位朋友好久不见呢.最近由于刚入职,作为职场萌新,所以大部分时间都花在了工作上.因而也没有太多时间来写文章啦,这篇文章也是定题了许久,迟迟没有落笔.等之后工作慢慢稳定,业务熟练起来,文章更新频率就会高 ...
- 还不懂这八大算法思想,刷再多题也白搭!
各位朋友好久不见呢.最近由于刚入职,作为职场萌新,所以大部分时间都花在了工作上.因而也没有太多时间来写文章啦,这篇文章也是定题了许久,迟迟没有落笔.等之后工作慢慢稳定,业务熟练起来,文章更新频率就会高 ...
- 不懂这八大算法思想,刷再多题也白搭!
点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 来源:业余码农 算法和数据结构一直以来都是程序员的基本内功,可以说没有数据结构的基础建设和 ...
- 常见算法思想2:递推法
递推法 递推算法犹如稳重的有经验的老将,使用"稳扎稳打"的策略,不断利用已有的信息推导出新的东西. 在日常应用中有如下两种递推算法: (1)顺推法:从已知条件出发,逐步推算出要解决 ...
- 递推(一):递推法的基本思想
所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果.其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定. 利用递推算法求问题规模为n的解的基本思 ...
- 算法笔记方法论3 递推法与递归法
你站在桥上看风景看风景的人在楼上看你明月装饰了你的窗子你装饰了别人的梦--卞之琳 递推算法的特点 一个问题的求解需要大量重复计算,在已知的条件和所求问题之间总存在着某种相互联系的关系,在计算时,我们需 ...
- 几个常见的简单的算法(暴力法,递推法,枚举法,递归法,分治法,贪心法,回溯法)
最近在学习算法相关知识. 通过买的视频教程了解到了一些简单的算法,为了加深感悟,同时也为了理解,将这几个常见的算法的定义进行记录. 算法是程序的灵魂,也可以认为是程序最重要的部分. 在通过算法解决问题 ...
- C/C++程序设计常用算法——递推法
文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善. 资料仅供学习交流使用. 作者:Aliven888 1.简述 ...
最新文章
- leetcode算法题--划分为k个相等的子集★
- Linux下scp无密码上传 下载 文件 目录的方法
- Python中使用pip安装库时指定镜像源为豆瓣镜像源
- FPL 2017最佳论文:如何对FPGA云发动DoS攻击?
- jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式
- 如何才能轻松地分析日志?
- git clone 出现fatal: unable to access ‘https://github 类错误解决方法
- 圆柱属于能滚动的物体吗_小学人教版六年级下册数学第3章《圆柱的表面积》知识点+同步练习...
- QQ头像无法加载,显示初始默认头像的解决方法
- html更改提示框内容,JS修改内容提示框字体样式
- 京东联盟api集成的坑
- tx2 安装 Anaconda
- 天津科技大学计算机二级报名,2018年9月天津计算机二级报名6月20-25日
- 前缀和计算机相关,网络设置子网掩码和前缀长度计算机应用知识
- 通达OA流程中心触发器使用实例
- 度量满足条件——非负性、对称性和三角不等式
- 肠道重要菌属——另枝菌属(Alistipes),调节炎症情绪等的潜力菌
- psutil:系统、进程,信息都在我的掌握之中
- pygame安装(参考:烟雨平生cj)
- 程序员节你们公司都有什么活动
热门文章
- C++ thread 线程封装类
- 调整elment-ui的表头字体大小
- SVN远程服务器端配置以及本地客户端连接最简易教程
- SUSE Linux zypper命令
- css时光机,如何使用CSS3合成模式(blend-mode)和滤镜(filter)实现彩色蜡笔(时光机)照片特效...
- spyder安装和使用
- 手机联系人不见了怎么恢复?超级简单的恢复方法,快收藏
- yolov3_tiny.onnx转trt采用tensorrt加速模型推理
- linux设置开机自动启动网卡驱动,redhat 上网 网卡配置 驱动安装
- 马斯克:不想再当特斯拉CEO了;推特员工,要么“卷”,要么“滚”;腾讯用超1500亿美团股票派息 | 每日大事件...