七天速通javaSE:第四天 递归算法

news2024/10/5 14:16:45

文章目录

  • 前言
  • 一、递归的介绍
  • 二、递归模型(n!)
    • 1 阶乘的定义:
    • 2. 阶乘的递归代码实现
    • 3. 递推与回归的内部逻辑
    • 三、练习


前言

本文将学习递归算法。在计算机科学中,递归算法是一种将问题不断分解
为同一类子问题来解决问题的方法。递归方法可解决许多计算机科学问题,因此它是计算机科学中非常重要的概念。


一、递归的介绍

  1. 概念:如果一个对象部分包含它自己,或者利用自己定义自己,则称这个对象是递归的

  2. 应用场景:要解决的问题和其子问题具有相似性的时候,通过调用自己求出问题解的方法。它是通过拆分解决一个问题的更小实例来解决一个大的问题的解的算法(大事化小

  3. 递归的两个过程:

    • 调用过程(递推

    • 向上传递结果的过程。(回归

  4. 递归的两个部分:

    • 递归出口:调用过程终止的节点(限制条件

    • 递归体:确定递归求解时的递推关系

二、递归模型(n!)

1 阶乘的定义:

阶乘:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。
比如:
1!= 1
2!= 2×1
3!= 3×2×1
……

阶乘的递推公式:
在这里插入图片描述

2. 阶乘的递归代码实现

Recursion.java文件

public class Recursion {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        input.close();
        System.out.println(fact(n));
    }
    public static int fact (int n){
        if(n == 1){
            return 1;
        }else{
            return n*fact(n-1);
        }
    }
}

3. 递推与回归的内部逻辑

以下内容来自b站up鹏哥C语言
C语言从入门到精通
在这里插入图片描述

三、练习

写一个计算器,要求实现加减乘除的功能,并且能够循环接收新的数据,通过用户交互实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1865838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网站推广如何做?这七个方法要知道

在出海独立站商家中,推广是必不可少的环节。在你完成网站的搭建,产品的上架,以及网站的运营和优化后,你就可以开始着手推广你的网站了。你的网站是承载你的品牌和产品的主要平台,因此,你需要根据你的品牌和…

Python+Vue+Springboot实现电脑端微信好友导入导出

主要实现思路是使用python的自动化库uiautomation进行客户端抓取联系人,vue做管理界面,springboot做后端服务。 截图如下 登录: 首页 好友导出 不足之处就是只有windows版本,mac上还不行 而且谷歌和edge浏览器的效果是最好的&a…

【C++】红黑树及其实现

目录 一、红黑树的定义1.为什么提出红黑树?2.红黑树的概念3.红黑树的性质 二、红黑树的实现1.红黑树的结构2.红黑树的插入2.1 uncle为红色2.2 uncle为黑色,且是grandfather的右孩子2.3 uncle为黑色,且是grandfather的左孩子 3.红黑树的验证 4…

PTL系统电子标签让工厂仓储出入库管理更高效

在现代工厂的运营中,仓储管理的效率直接影响着整个生产流程的顺畅与企业的竞争力。PTL 系统(Pick-to-Light)的应用,为工厂仓储的出入库管理带来了革命性的变化,使其更加高效、精准和智能化。 一、仓库安装使用PTL系统电…

TF-IDF、BM25传统算法总结

1. TF-IDF算法 F-IDF(词频-逆文档频率)是一种用于衡量文本中词语重要性的方法,特别适用于信息检索和文本挖掘任务。下面会拆分为两部分深入讲解TF-IDF的计算过程,以便更好地理解。 TF-IDF的计算过程可以分为两个主要部分&#xf…

2.移植freertos到stm32f103c8t6

目录 1.步骤 2.freertos配置时常见的选项卡意思 1.步骤 2.freertos配置时常见的选项卡意思

typescript学习回顾(三)

今天继续来分享ts的相关概念,枚举,ts模块化,接口和类型兼容性 ts的扩展类型:类型别名,枚举,接口和类 枚举 基础概念 枚举通常用于约束某个变量的取值范围。当然字面量和联合类型配合使用,也可…

动态规划——123. 买卖股票的最佳时机 III

目录 1、题目链接 2、题目分析 1.状态表示 2.状态转移方程 3.初始化 4.填表 5.返回值 3、代码解析 1、题目链接 123. 买卖股票的最佳时机 III 2、题目分析 1.状态表示 由题目可知,我们分为两种状态,买入和卖出,又因为只能完成两次交易…

如何从iPhone恢复错误删除的照片

嘿,iPhone 用户!作为一名苹果专业人士,我见过相当多的“哎呀,我删除了它!”的时刻。今天,我在这里指导您完成从iPhone中恢复那些珍贵的,错误删除的照片的迷宫。坐下来,拿起你的设备&…

【2020-2023】Transformer在小目标检测领域的应用与发展综述

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

std::enable_if和std::is_base_of

std::enable_if,其主要为了完成模板特偏化,有两个参数,第一个为布尔值类型,第二个如果布尔值为true,其为默认空值,如果已经赋值,则为对应的类型。 std::is_base_of,其一共存在两个参数&#xff…

windows10/win11截图快捷键 和 剪贴板历史记录 快捷键

后知后觉的我今天又学了两招: windows10/win11截图快捷键 按 Windows 徽标键‌ Shift S。 选择屏幕截图的区域时,桌面将变暗。 默认情况下,选择“矩形模式”。 可以通过在工具栏中选择以下选项之一来更改截图的形状:“矩形模式”…

【每日刷题】Day76

【每日刷题】Day76 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 561. 数组拆分 - 力扣(LeetCode) 2. 删除有序链表中重复的元素-II_牛客题霸…

多接口分线盒在工业自动化中的重要性与应用

简介 多接口分线盒是现代工业自动化中不可或缺的一个组成部分,它主要用于简化复杂的接线系统,提高效率和可靠性。本文将详细探讨多接口分线盒的定义、功能、以及在工业自动化中的应用情况。 无源多接口分线盒 多接口分线盒的定义与功能 多接口分线盒是…

vue draggable

一、安装&#xff1a; npm i -S vuedraggablenext 二、代码 <draggable :list"projectOptions" item-key"name" class"w-25" ghost-class"ghost"chosen-class"chosen" update"updateSort" animation"3…

Ubuntu系统安装软件---以安装QQ为例

以安装QQ为例&#xff0c;首先你的Ubuntu系统需要连上网&#xff0c;连上网的网络状态如下图所示。 在ubuntu系统的网页中搜索QQ&#xff0c;如下图所示。 进入QQ官网&#xff0c;点击Linux&#xff0c;如下图所示。 随后会让你选择什么架构的版本&#xff0c;如何查看自己的是…

金融企业数据跨境流动的核心需求是什么?如何才能落地?

在金融行业&#xff0c;涉及到的数据跨境流动的场景多种多样&#xff0c;主要涉及到金融机构的跨国经营、全球贸易以及服务贸易等多个方面&#xff1a; 企业跨国经营&#xff1a;当金融机构进行跨国经营时&#xff0c;如银行在海外设立分支机构或进行跨境投资&#xff0c;会涉及…

神经网络学习8-反向传播

back propagation 拿到前面传回来的L对z的偏导&#xff0c;再分别算损失值对x和w的偏导 反向传播 前馈过程求局部梯度 反向传播 这里的loss&#xff08;wxb-y)^2,第一个关于b的偏导为2(wxb-y),第二个关于w的为2w(wxb-y)

记录待办事项的便签软件哪个好用?

在快节奏的现代生活中&#xff0c;我们经常需要处理各种各样的待办事项&#xff0c;为了更好地管理时间&#xff0c;许多人选择使用便签软件来记录自己的待办事项。那么&#xff0c;记录待办事项的便签软件哪个好用&#xff1f;市面上众多的便签软件中&#xff0c;哪一个才是最…

【新闻】金融专业“免进”!私募巨头招聘涌现“新剧情”

A股市场在2024年逐渐出现新的运行特征&#xff0c;这不禁让部分主动投资的私募巨头公司重新登上招聘舞台。 但这一次&#xff0c;他们的招聘方向出现了新的变动。 有些机构有意识的为公司投研团队招聘“衔接”岗&#xff0c;有些则把重点放在了投研动作的交易层。 但这都不如…