当前位置: 首页 > 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);}}

相关文章:

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

现象&#xff1a; 基础算法-递推算法-学习 方法&#xff1a; 这就是一种递推的算法思想。递推思想的核心就是从已知条件出发&#xff0c;逐步推算出问题的解 最常见案例&#xff1a; 一&#xff1a;正向递推案例&#xff1a; 弹力球回弹问题&#xff1a; * 弹力球从100米高…...

L1-056 猜数字(Python实现) 测试点全过

前言&#xff1a; {\color{Blue}前言&#xff1a;} 前言&#xff1a; 本系列题使用的是&#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库&#xff0c;难度有L1、L2、L3三个等级&#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度&#xff0c;…...

第 361 场 LeetCode 周赛题解

A 统计对称整数的数目 枚举 x x x class Solution { public:int countSymmetricIntegers(int low, int high) {int res 0;for (int i low; i < high; i) {string s to_string(i);if (s.size() & 1)continue;int s1 0, s2 0;for (int k 0; k < s.size(); k)if …...

07-架构2023版-centos+docker部署Canal 实现多端数据同步

canal 工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )canal 解析 binary log 对象(原始为 byte 流)基于日志增量订阅和消费的业务包括 数据库镜…...

过滤器的应用-Filter

过滤器 1.工作原理 2.创建Filter 2.1通过注解的方式实现 //创建一个类&#xff0c;实现Filter接口 WebFilter(urlPatterns "/myfilter") //urlPatterns表示需要拦截的路径 public class MyFilter implements Filter {Overridepublic void doFilter(ServletReques…...

leetcode236. 二叉树的最近公共祖先(java)

二叉树的最近公共祖先 题目描述递归法代码演示 上期经典 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q …...

spacy安装旧版本en_core_web_sm的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Qt +VTK+Cmake 编译和环境配置(第一篇 采坑)

VTK下载地址&#xff1a;https://vtk.org/download/ cmake下载地址&#xff1a;https://cmake.org/download/ 版本对应方面&#xff0c;如果你的项目对版本没有要求&#xff0c;就不用在意。我就是自己随机搭建的&#xff0c;VTK选择最新版本吧&#xff0c;如果后面其他的库不…...

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南宁师范大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南宁师范大学图书馆...

C++/C# : C#和C++的不同

C#和C是两种不同的编程语言&#xff0c;虽然在某些方面它们具有相似之处&#xff0c;但它们也有一些明显的不同点&#xff0c;如下&#xff1a; C是一种静态类型编程语言&#xff0c;而C#是一种动态类型编程语言。 C允许开发者手动管理内存的分配和释放&#xff0c;但是C#的垃…...

PCL-直通滤波器原理及实验

文章目录 原理使用过程代码实验总结 原理 直通滤波器的作用是过滤在指定维度方向上取值不在给定值域内的点&#xff0c;即点云数据有xyz三维坐标&#xff0c;选择一个方向的维度的数据&#xff0c;设置一个范围&#xff0c;在这个范围中的点云会被保留&#xff0c;不在此范围内…...

数学建模:相关性分析

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 数学建模&#xff1a;相关性分析 文章目录 数学建模&#xff1a;相关性分析相关性分析两变量的相关分析PearsonSpearmanKendall tua-b 双变量关系强度测量的指标相关系数的性质代码实现example偏相关分析 相…...

thinkPHP项目搭建

1 宝塔添加站点 &#xff08;1&#xff09;打开命令提示行&#xff0c;输入以下命令&#xff0c;找到hosts文件。 for /f %P in (dir %windir%\WinSxS\hosts /b /s) do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P &#xff08;2&#xff09;添加域…...

C++中几种处理函数返回值的方式

目录 C中几种处理函数返回值的方式&#xff1a;值返回引用返回指针返回总结 C中几种处理函数返回值的方式&#xff1a; 值返回 函数可以返回一个具体的值&#xff0c;例如整数、浮点数、结构体、类对象等。返回值被复制到函数调用点&#xff0c;在调用点可以直接使用或赋给其…...

跟我学c++中级篇——c++中的Abominable Function Types

一、Abominable Function Types Abominable Function Types,令人讨厌&#xff08;憎恶&#xff09;的函数类型。这个在c的技术点中&#xff0c;很少有人了解。那么什么是Abominable Function Types呢&#xff1f;看下面的例子&#xff1a; using func void(); using func…...

计算机毕设之基于python+django+mysql的影片数据爬取与数据分析(包含源码+文档+部署教程)

影片数据爬取与数据分析分为两个部分&#xff0c;即管理员和用户。该系统是根据用户的实际需求开发的&#xff0c;贴近生活。从管理员处获得的指定账号和密码可用于进入系统和使用相关的系统应用程序。管理员拥有最大的权限&#xff0c;其次是用户。管理员一般负责整个系统的运…...

slog正式版来了:Go日志记录新选择!

在大约一年前&#xff0c;我就写下了《slog&#xff1a;Go官方版结构化日志包[1]》一文&#xff0c;文中介绍了Go团队正在设计并计划在下一个Go版本中落地的Go官方结构化日志包&#xff1a;slog[2]。但slog并未如预期在Go 1.20版本[3]中落地&#xff0c;而是在golang.org/x/exp…...

华为静态路由配置实验(超详细讲解+详细命令行)

系列文章目录 华为数通学习&#xff08;7&#xff09; 前言 一&#xff0c;静态路由配置 二&#xff0c;网络地址配置 AR1的配置&#xff1a; AR2的配置&#xff1a; AR3的配置&#xff1a; 三&#xff0c;测试是否连通 AR1的配置: 讲解&#xff1a; AR2的配置&#…...

axios源码学习

1 判断一个对象是否普通对象 Symbol.toStringTag&#xff1a;可以修改Object.prototype.toString.call返回的后缀&#xff0c;普通对象自带该属性&#xff0c;不需要设置&#xff0c;如果设置说明该对象不是普通对象Symbol.iterator&#xff1a;拥有该属性的对象可以使用for o…...

【SpingBoot】详细介绍SpringBoot项目中前端请求到数据库再返回前端的完整数据流转,并用代码实现

在SpringBoot项目中&#xff0c;前端请求到最终返回的完整数据流转一般包括以下几个步骤&#xff1a; 前端发送HTTP请求到后端Controller。 Controller接收到请求后&#xff0c;调用相关Service处理业务逻辑。 Service调用DAO层获取数据。 DAO层访问数据库获取数据。 数据库…...

Prometheus数据采集扩展:claw-prometheus项目详解与实战

1. 项目概述&#xff1a;一个为Prometheus量身定制的“数据抓取器”在云原生和微服务架构大行其道的今天&#xff0c;监控系统的地位不言而喻。Prometheus&#xff0c;作为这个领域的“事实标准”&#xff0c;以其强大的多维数据模型和灵活的查询语言&#xff08;PromQL&#x…...

开源工具集YangDuck:模块化设计与实战应用解析

1. 项目概述&#xff1a;一个面向开发者的开源工具集最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“ByGroover/YangDuck”。光看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但点进去之后发现&#xff0c;这其实是一个面向开发者、特别是那些经常需要处理数据转…...

好的、坏的、丑陋的:神经网络的记忆

原文&#xff1a;towardsdatascience.com/the-good-the-bad-an-ugly-memory-for-a-neural-network-bac1f79e8dfd |人工智能|记忆|神经网络|学习| https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1e1ee7fbb30819e6f820f4d17dcd3b74.png 由…...

DIY蓝牙游戏手柄:基于Arduino与Cherry MX轴体的全流程制作指南

1. 项目概述与核心思路几年前&#xff0c;我在折腾机械键盘时&#xff0c;看着手边多出来的几颗Cherry MX轴体&#xff0c;突然冒出一个想法&#xff1a;这些清脆、精准的触发单元&#xff0c;除了在键盘上噼里啪啦&#xff0c;能不能变成更直接的操控工具&#xff1f;比如&…...

现代Web全栈开发实战:基于React、Node.js与Prisma的足球赛事应用架构解析

1. 项目概述与核心价值最近在整理个人技术栈时&#xff0c;翻到了一个之前参与过的很有意思的Web项目——一个基于“NLW”&#xff08;Next Level Week&#xff09;活动构建的足球赛事Web应用。这个项目虽然源于一个线上编程活动&#xff0c;但其架构设计和实现思路&#xff0c…...

自建轻量级Web监控信标:前端性能与错误数据采集实践

1. 项目概述&#xff1a;一个轻量级、可扩展的Web应用监控信标最近在梳理个人项目和团队内部工具链时&#xff0c;我重新审视了一个名为“beacon”的小工具。这个项目源自一个非常具体的痛点&#xff1a;在开发和运维Web应用时&#xff0c;我们常常需要一种简单、无侵入的方式来…...

Vue3-DateTime-Picker:现代化Vue 3日期时间选择器的完整指南

Vue3-DateTime-Picker&#xff1a;现代化Vue 3日期时间选择器的完整指南 【免费下载链接】vue3-date-time-picker Datepicker component for Vue 3 项目地址: https://gitcode.com/gh_mirrors/vu/vue3-date-time-picker 在当今的Web开发中&#xff0c;日期时间选择器是几…...

XHS-Downloader:一款完全免费的小红书内容采集神器

XHS-Downloader&#xff1a;一款完全免费的小红书内容采集神器 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接&#x…...

STL到STEP格式转换:技术选型与实施指南

STL到STEP格式转换&#xff1a;技术选型与实施指南 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在制造业数字化转型的背景下&#xff0c;3D数据格式互操作性已成为工程团队面临的核心挑战。…...

语音提示工程实战:从原理到应用,解锁AI声音表现力

1. 项目概述&#xff1a;语音提示工程的“Awesome”宝库如果你正在探索语音AI的应用&#xff0c;或者想为自己的智能助手、播客、有声书项目寻找更自然、更具表现力的声音&#xff0c;那么你很可能已经意识到一个核心痛点&#xff1a;如何用文字精准地“指挥”一个AI声音&#…...