当前位置: 首页 > news >正文

基础算法-递推算法-学习

现象:
基础算法-递推算法-学习

方法:

这就是一种递推的算法思想。递推思想的核心就是从已知条件出发,逐步推算出问题的解

最常见案例:

一:正向递推案例:

弹力球回弹问题:
* 弹力球从100米高度自由落下,
* 每次落地后反跳回原高度的一半,并再落下
* 求它在第10次落地时,共经过多少米?第10次反弹多高?

在这里插入图片描述

代码方法:

    public static void forward() {// 总路径double sum = 100;// 每次反弹双向路径double h = 100;//第二次开始计算反弹 所以从2开始for (int i = 2; i <= 10; i++) {sum += h;h = h / 2;log.debug("当前第{}次,总路径:{}", i, sum);}log.debug("经过十次之后总路径:{}", sum);log.debug("=========================================");double he = 100;for (int y = 1; y <= 10; y++) {he /= 2;log.debug("当前第{}次," + "反弹高度:{}", y, he);}}

二:逆向递推案例:
小明吃饼干问题:
小明有一盒饼干
* 每天早上都吃一半,在分2块给同学
* 到第10天早上想再吃时,只剩下一块饼干了。求小明的一盒饼干有多少块?
在这里插入图片描述

代码方法:

    public static void reverse() {int remain=1;for (int i=9;i>=1;i--){remain=(remain+2)*2;log.debug("当前第{}天,饼干剩余数量:{}",i,remain);}}

三:函数案例

斐波那契数列 \ 黄金分割数列
由意大利数学家列昂纳多・斐波那契(Leonardo Fibonacci)提出:
* 斐波那契数列指的是这样的一个数列:1、1、2、3、5、8、13、21、34、……,
* 这个数列从第 3 项开始,每一项都等于前面两项之和。在数学上斐波那契数列可以被递推的方法定义如下:
* F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)

在这里插入图片描述

代码方法:

    public static void fibo() {int a=0;int b=1;int f=1;log.debug("当前第1列 a:{} b:{}  数值:{}", a,b,f);for (int i=2;i<=21;i++){f=a+b;a=b;b=f;log.debug("当前第{}列 a:{} b:{}  数值:{}", i,a,b,f);}}
http://www.lryc.cn/news/153492.html

相关文章:

  • L1-056 猜数字(Python实现) 测试点全过
  • 第 361 场 LeetCode 周赛题解
  • 07-架构2023版-centos+docker部署Canal 实现多端数据同步
  • 过滤器的应用-Filter
  • leetcode236. 二叉树的最近公共祖先(java)
  • spacy安装旧版本en_core_web_sm的解决方案
  • Qt +VTK+Cmake 编译和环境配置(第一篇 采坑)
  • 2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南宁师范大学图书馆
  • C++/C# : C#和C++的不同
  • PCL-直通滤波器原理及实验
  • 数学建模:相关性分析
  • thinkPHP项目搭建
  • C++中几种处理函数返回值的方式
  • 跟我学c++中级篇——c++中的Abominable Function Types
  • 计算机毕设之基于python+django+mysql的影片数据爬取与数据分析(包含源码+文档+部署教程)
  • slog正式版来了:Go日志记录新选择!
  • 华为静态路由配置实验(超详细讲解+详细命令行)
  • axios源码学习
  • 【SpingBoot】详细介绍SpringBoot项目中前端请求到数据库再返回前端的完整数据流转,并用代码实现
  • kubesphere devops使用
  • Selenium如何用于编写自动化测试脚本?
  • linux入门到精通-第二章-常用命令和工具
  • C语言初阶测评题:测试你的基础知识和编程技能!!
  • 使用HTTPS模式建立高效爬虫IP服务器详细步骤
  • 每日一题 230二叉搜索树中第K小的元素(中序遍历)
  • 文件包含漏洞及漏洞复现
  • Android 手游聚合SDK小知识(一)
  • 桂理理工大题
  • Jmeter接口测试+压力测试
  • mysql‘逻辑删除‘和‘唯一索引‘冲突的解决方案