递归是如何工作的? [关闭]

2024-02-09

请用最简单的方式解释递归是如何工作的。


正如所指出的,递归是指函数调用自身。这里用图解说明factorial, where factorial(5)以数学方式求值5 * 4 * 3 * 2 * 1.

public int factorial(int x) {
   if (x == 1) return 1;
   else return x * factorial (x - 1);
}

// Try routine
factorial(3);

其评估结果为

 factorial(1) = 1                                        = 1
 factorial(2) = 2 * factoral(1)                          = 2 * 1 
 factorial(3) = 3 * (2 * factorial(2) * (factorial(1))   = 3 * 2 * 1
 ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归是如何工作的? [关闭] 的相关文章

  • 是否有与 Java 的 IdentityHashMap 等效的 Python 版本?

    我正在遍历一个数据结构 想要构建一个映射 X gt Y 的字典 其中 X 是我正在遍历的数据结构中的一个字段 Y 是我正在动态构建的数据结构中的一个字段 X 是不可散列的类型 Java的IdentityHashMap的目的是模拟动态字段 由
  • 使用多个窗口通过 Eclipse 进行调试

    我通常运行双显示器设置 因此我为同一工作区打开两个 Eclipse 窗口 显示不同的文件 当我调试并命中断点时 Eclipse 会切换到 调试 透视图 但它还会在我的两个窗口中显示断点所在的文件 行 即使包含断点的文件在一个窗口中打开 但在
  • Java 8 文档日期时间教程错误

    The Oracle 临时查询教程页面 https docs oracle com javase tutorial datetime iso queries html显示此示例代码 Code TemporalQueries query Te
  • 使用 Spring Framework Cloud 时无法将工件从中央 Maven 存储库传输到中央 Maven 存储库

    我正在尝试使用 Spring Framework Cloud 创建一个 Maven 项目 我定义了 pom xml 文件如下
  • JTextPane 的样式是否具有类似控制台的格式?

    有没有办法使 JTextPane 中的文本看起来与控制台输出的文本相似 我的意思是 基本上 每个字符如何具有相同的宽度 以便 ASCII 艺术或间距缩进之类的东西可以正常工作 例如 目前 如果我输入 First 然后输入 5 个空格 然后在
  • Java用逗号或点和两个小数值验证价格[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 验证必须用点或逗号表示价格值且最多具有两位小数值的字符串的最佳方法和解决方案是什么 RegExp java text DecimalFor
  • 理解 Spring AOP [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 Spring 3 0 框架 但仍然是新手 谁能通俗地解释一下什么是AOP编程 一个简短的例子肯定会有帮助 Spring 如
  • 在 Volley 中更新 UI 最有效的方法是什么

    最近我在 android 中使用 Volley 库 它工作得很好 但我想知道更新 UI 的最有效方法 我有一个包含所有 Volley 方法的 Utils 类 现在我传递了所有视图将作为参数更新 但我读到我可以在活动中实现侦听器 然后将它们作
  • JavaFX 多线程 - 连接线程不会更新 UI

    我正在尝试创建一个加载程序对话框 用户可以在其中知道程序正在加载所请求的内容并且程序正在按预期运行 但正因为如此 我需要join 解析器线程和之前继续主线程 这使得对话框空白 解析器任务 java public class ParserTa
  • 如何在 Spring Security 中创建自定义身份验证过滤器?

    我正在尝试创建一个自定义 Spring Security 身份验证过滤器以实现自定义身份验证方案 我花了几个小时阅读 Spring Security 但我找到的所有指南都解释了如何配置基本设置 我正在尝试编写自定义设置 但无法找到有关如何执
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • Java,根据 WSDL 中的嵌入模式验证 XML

    我有一个 wsdl具有嵌入架构的文件 我想使用它来验证 XML 文件 字符串 wsdl文件 与验证的方式相同 xsd 该架构位于
  • HttpURLConnection 中的 NTLM 身份验证在 JRE 中不起作用,但在 JDK 环境中起作用

    我正在使用 eclipse 开发应用程序的两个部分 Web 部件提供 REST 服务 并对服务的请求进行过滤waffle servlet NegotiateSecurityFilter它提取 Windows 登录信息来识别用户 客户端部分使
  • 多维数组、Vuex 和变异

    我正在尝试添加和删除存储在 Vuex 中的多维数组中的项目 数组是一组类别 每个类别又有一个子类别 无穷大 不是简单的二维数组 示例数据集是这样的 id 123 name technology parent id null children
  • Android O - 通知通道和NotificationCompat

    我无法改变这种感觉 Android 开发人员再次提出了一些新东西 却让每个人都对他们如何看待该功能的使用一无所知 我说的是 Android O 中的通知通道 多年来 我一直使用兼容性支持库来避免处理特定平台的细节 即 Notificatio
  • 针对未经身份验证的用户的 Spring Security 404 页面

    我正在使用 Spring Boot 和 Thymeleaf 我有一个自定义 404 模板页面定义在src main resources templates error 404 html 当用户登录时这可以正常工作 然而 当他们注销时 他们不
  • 如何在android中动态创建按钮?

    我想创建一个这样的页面 这 7 个按钮已经存在 但如果用户想添加更多类别 按钮 那么他可以使用 按钮并使用删除 按钮 有制作这个的想法或教程吗 创建 删除按钮onClick of button and button如下 public voi
  • FirebaseAuth.getInstance().signOut() 不注销

    我尝试从 firebase 注销用户 但在关闭应用程序并再次打开后 用户仍然处于连接状态 我尝试从 firebase 定期注销用户 但没有解决问题 我想知道是什么导致了这个问题 logout setOnClickListener new V
  • 在 Android 中创建硬链接和符号链接

    我正在创建一个应用程序 我想在其中使用 Android 外部内存文件系统中的硬链接和符号链接 我尝试过使用命令 Os link oldpath newpath Os link oldpath newpath 但是 当我尝试这样做时 我收到此
  • web.xml 过滤器如何工作?您可以将两个过滤器映射到所有页面 (/*) 并指定顺序吗?

    我想使用 Spring Security 它说将过滤器映射到 但我已经有一个映射到 的过滤器 即 Tuckee URLRewrite 过滤器 是否可以将两个过滤器映射到同一事物 并且有没有办法指定过滤器的调用顺序 是的你可以 servlet

随机推荐

  • 在每个循环中从 ArrayList 中删除对象

    我想从一个对象中删除一个对象ArrayList当我完成它时 但我找不到方法 尝试像下面的示例代码一样删除它是行不通的 我怎样才能到达当前的迭 代器px要删除这个循环中的对象吗 for Pixel px pixel if px y gt gH
  • 我应该选择哪个 C++ 信号/槽库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在不使用 QT 的项目中使用信号 槽库 我有非常基本的要求 使用任意数量的参数连接两个函数 信号可以
  • 删除不与 JpaRepository 一起使用的内容

    我有一个 spring 4 应用程序 我试图从数据库中删除实体的实例 我有以下实体 Entity public class Token implements Serializable Id SequenceGenerator name se
  • Delphi多线程文件写入:I/O错误32

    我创建了一个类 用于在文本文件中写入线程安全日志 使用CriticalSection 我不是 CriticalSection 和多线程编程 和 Delphi 的专家 我肯定做错了什么 unit ErrorLog interface uses
  • Spring Security 401未经授权,即使有permitAll

    我正在使用 Spring security 来保护 REST 服务中的某些端点 这是安全配置类 Configuration EnableWebSecurity EnableGlobalMethodSecurity securedEnable
  • 如何保存 LibSVM python 对象实例?

    我想在其他计算机上使用这个分类器 而不必再次训练它 我曾经使用 cPickle 从 scikit 保存一些分类器 对 LIBSVM 做同样的事情 它给了我一个 ValueError 包含指针的 ctypes 对象不能被腌制 我正在使用 Li
  • ASP.NET 用户控件类库

    是否可以创建包含 UserControls 的类库以便我可以重用它们 如果是这样 怎么办 标记是否与 dll 一起编译 谢谢你的帮助 您可以编译两者UserControls and Page进入类库 因为最终 这就是您的网站发布后发生的情况
  • 具有颜色渐变的 UIBezierPath

    我有一个关于 UIBezierPath 的问题 例如我有这条路径 现在我想要从白色到红色的颜色渐变 从左到右 这是我的代码 UIBezierPath bezierPath bezierPath UIBezierPath bezierPath
  • 使用 RVM 时如何安装 Ruby gems?

    我设置了 RVM 并用它来安装 Ruby 和其他一些库 当我浏览各种教程和其他技术 如 Rails 的设置时 我开始对我应该通过 RVM 做什么以及我应该按照教程建议做什么感到困惑 此处的 RubyGems 教程就是一个示例 http ru
  • scrapy如何制作自己的调度程序中间件

    我正在使用 Python 2 7 和 Scrapy 0 20 我的问题 如何构建我自己的调度程序 我尝试过的 我通过互联网阅读并发现了这一点 我必须创建自己的 python 类并使用 SCHEDULER MIDDLEWARES 在设置中分配
  • 生成不连续重复的随机数

    如何生成 0 4 之间的随机整数 并且不会连续两次生成相同的数字 例如 如果第一次生成的数字为3 则第二次随机生成的可能数字为0 1 2 4 如果第二次生成2 则第三次随机生成的可能数字为0 1 3 4 以此类推 int oldrand
  • Spring saml - 在 SP 上发起登录时如何记住请求参数,并在 IdP 响应后处理它们

    我想记住我的网站 SP 的第一个请求中的 url 请求参数 并在 IdP 响应后使用它们 我正在使用 spring saml 扩展并考虑 relayState 属性 但找不到如何使用请求中的参数构建它的示例 我需要在 sso 身份验证过程后
  • 时间复杂度 嵌套循环 内循环 + 外循环

    谁能解释一下这个算法的时间复杂度是多少 for i 1 i lt n i for j 1 j lt n j i note not j printf Iteration d d n i j The printf在内循环中称为exactly c
  • 相机2输出位图

    我正在尝试使用谷歌移动视觉API https developers google com vision barcodes overview使用camera2模块 我遇到了很多麻烦 我正在使用谷歌的android Camera2Video h
  • 使 google-chrome 浏览器在页面加载时全屏显示

    即使您将其标记为重复 也请考虑在此处回答此问题因为出于某种原因 我无法让它与其他解决方案一起使用 尽管我试图寻求帮助 但没有人回复 我真正想要的是 document ready function browser goes fullscree
  • PHP 中 MySQL 结果的分页

    直到最近我才真正考虑过这个 分页 作为一个问题 当我坐下来专注于它时 我发现自己面临很多问题 我感兴趣的是一个基本的联系人管理系统 用户可以在其中添加 更新 删除 搜索联系人 搜索部分是我需要有效实现分页的地方 我的想法 ve 和 ve 点
  • Google Apps 脚本 - JavaScript 不工作

    我创建了一个简单的网络应用程序 但它不起作用 Code gs function doGet I think this works var output HtmlService createTemplateFromFile index eva
  • 使用 Java 8 的 cobertura-maven-plugin

    是我一个人的问题还是 cobertura maven plugin 不适用于 java 8 当它运行时我得到 INFO cobertura maven plugin 2 6 instrument default provider impl
  • Oozie Shell Action 的 stdout 和 stderr 输出

    在 Oozie 站点中 它说 Shell 操作的 stdout 和 stderr 输出被重定向到运行 shell 命令的 Oozie Launcher 映射减少作业任务 STDOUT 谁能告诉我具体应该去哪里看 Oozie 在 启动器 中运
  • 递归是如何工作的? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 请用最简单的方式解释递归是如何工作的