首页 > 其他分享 >递归

递归

时间:2024-10-18 19:59:06浏览次数:2  
标签:fun1 递归 int 老和尚 jieCheng 有座

递归

##    递归:方法定义时内部调用自身的现象

    fun1().fun2() 这叫方法的链式调用
    fun1(show1()) 这叫方法的嵌套调用
    fun1(fun1())  这叫方法的递归调用
    递归举例:
        1、从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:  1
            从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:    2
                从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容:   3
                    从前有座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲故事,讲的故事内容: 4
                    ....
           结束条件:山倒了,老和尚圆寂了。

                ...
           结束条件:挣不到钱,没有生娃...
    写递归需要考虑的东西:
        1、开始条件
        2、出口
` 需求:使用递归实现一个数的阶乘`
点击查看代码
public class DiGuiDemo1 {     //
    public static void main(String[] args) {
        int res = jieCheng(5);
        System.out.println("5的阶乘是:" + res);
    }

    // 5*4*3*2*1
    public static int jieCheng(int i) {  ///递归需要一个int 类型的值不断的进行i--,知道满足某一个条件就终止
        if (i == 1) {
            return 1;
        } else {
            return i * jieCheng(--i);
            // 5 * jieCheng(4)
            // 5 * 4 * jieCheng(3)
            // 5 * 4 * 3 * jieCheng(2)
            // 5 * 4 * 3 * 2 * jieCheng(1)
        }
    }

标签:fun1,递归,int,老和尚,jieCheng,有座
From: https://www.cnblogs.com/wangxiaojian-lina/p/18474955

相关文章

  • 七、二叉树之链式结构(递归)
    一、前序:前面章节所说二叉树的结构其实是递归的,为什么这样说呢?根节点有左右子树,根节点的左右孩子又有左右子树,以此类推,直到叶子节点,它的左右子树为NULL,开始返回。所以,我们把它分成一个又一个的子树来分析。因此,它的结构是递归的。因为一开始接触二叉树,还不是熟悉,我们先来手动......
  • 1601 添加运算符 枚举 递归dfs
    #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e3+10,inf=0x3f3f3f3f;inta[N],vis[N];intn,ans;//计算函数:根据运算符i对sum和a[x]进行运算intcal(intsum,inti,intx){if(i==1)returnsum+a[x];//加法......
  • 【题解】【记忆化递归】——Function
    【题解】【记忆化递归】——FunctionFunction题目描述输入格式输出格式输入输出样例输入#1输出#1提示数据规模与约定1.思路解析2.AC代码Function通往洛谷的传送门题目描述对于一个递归函数w......
  • Ouroboros3D-一种通过3D感知递归扩散生成3D模型的框架在win10系统上的复现流程
    本文将全程记录自己的Ouroboros3D(以下简称o3d)的环境配置以及训练过程,遇到的问题及解决办法。(Windows)目录一、o3d的安装及环境配置1.下载o3d项目2.anaconda、vscode安装及环境创建3.CUDA安装及环境变量的配置4.相应版本的pytorch的安装(1)在anaconda终端(2)在其他终端如vsco......
  • 【Java SE 题库】递归的魅力之--> 青蛙跳台阶问题(秒了)
     ......
  • 使用Pydantic和SqlAlchemy实现树形列表数据(自引用表关系)的处理,以及递归方式处理数据差
    在我的设计框架业务中,字典大类、部门机构、系统菜单等这些表,都存在id、pid的字段,主要是作为自引用关系,实现树形列表数据的处理的,因为这样可以实现无限层级的树形列表。在实际使用Pydantic和SqlAlchemy来直接处理嵌套关系的时候,总是出现数据在Pydantic的对象转换验证上,爬坑一段时间......
  • 数据结构与算法篇(回溯&递归&分治 - 刷题篇)(目前一天图片上传太多加载不出来)(后续更新)
    目录1.没有重复项数字的全排列(中等)1.1.题目描述1.2解题思路1.3代码实现方法一:递归方法二:非递归版2.有重复项数字的全排列(中等)2.1.题目描述2.2.解题思路2.3.代码实现递归+回溯(推荐使用)3.岛屿数量(中等)3.1.题目描述3.2.解题思路3.3代码实现方法一:dfs......
  • (递归)算法
    递归条件:1.终止条件,当满足这个条件时,递归将停止并返回一个值,这个条件是为了防止函数无限递归,导致栈溢出。2.递归条件,这个是函数调用自身的地方,通常是通过将问题分解为更小的子问题来解决。例如求n的阶乘:deffactorial(n):#基线条件ifn==0:return1......
  • 表达式计算,递归的思路,表达式本身的定义就是递归
    #include<iostream>usingnamespacestd;intfactor_value();intterm_value();intexpression_value();intfactor_value()//因子{   intresult=0;   charop=cin.peek();//用op存储缓冲区第一个字符,但并不从键盘缓冲区取走   if(op=='(')//看是......
  • (nice!!!)(LeetCode) 1884. 鸡蛋掉落-两枚鸡蛋(动态规划 dfs递归和递推 || 数学)
    题目:1884.鸡蛋掉落-两枚鸡蛋方法一:动态规划dp+递归dfs+记忆化搜索。时间复杂度0(n^2)。C++版本:classSolution{public: //状态sta[i]表示:i层找到f所需要的最小操作次数intsta[1010];inttwoEggDrop(intn){ //层数为0时,直接返回0if(n==0......