将此递归函数转换为迭代函数

2024-03-03

如何将这个递归函数转换为迭代函数?

#include <cmath>

int M(int H, int T){
    if (H == 0) return T;
    if (H + 1 >= T) return pow(2, T) - 1;
    return M(H - 1, T - 1) + M(H, T - 1) + 1;
}

这是一个 3 行代码,但我很难将其转换为迭代函数。因为它有2个变量。我对此一无所知Stacks所以我无法转换它。

我这样做的目的是提高函数的速度。这个功能太慢了。我想用map为了让它更快,但我有 3 个变量M, H and T所以我无法使用map


你可以用dynamic programming- 当 H == 0 且 T == 0 时从下往上开始计算 M 并迭代它们。这里有一个link http://en.wikipedia.org/wiki/Dynamic_programming#Fibonacci_sequence解释如何对斐波那契数执行此操作,这与您的问题非常相似。

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

将此递归函数转换为迭代函数 的相关文章

  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • 使结构比赋予该结构的方法的参数更长寿

    我正在寻找一种方法来确保结构的寿命比赋予该结构的方法的参数的寿命长 即使结构在离开方法后不保存对该数据的引用 这是用于馈送到 FFI 的包装原始指针 我想保证实现 FFI 的结构比Option lt a Any gt 我用来将 Rust 对
  • 使用 Core Graphics 制作饼图

    到目前为止 我已经画好了一个圆圈 仅此而已 我正在尝试制作一个饼图来表示满意和不满意的客户数量并展示它 我对 CG 非常陌生 想知道有人可以编写足够的代码来给我一个想法或指导我 我是否应该让底部的圆圈代表满意的客户数量 然后在其顶部添加另一
  • 如何使用 Android SDK 在 Facebook 墙上简单地分享内容?

    我找不到很多 FB Android SDK 的示例 并且示例不够简单 其中一些已弃用 我的简单目标是使用我的 Android 应用程序在 FB 上分享一些内容 当我开发 iOS 应用程序时 它很简单 AppDelegate appDeleg
  • 在 Windows 上使用 shp2pgsql.exe 将 shapefile 提取到 PostgreSQL/PostGIS 数据库的 Python 脚本

    我有一个托管在 Windows 2008 Server RT 虚拟机上的 PostgreSQL 数据库 是的 我知道它应该托管在 Linux 虚拟机上 但这是我的组织规定的 唉 我们的 GIS 人员将大量 shapefile 转储到存储库中
  • nvcc、gcc、clang 和 msvc 是否“尊重”结构中的 __restrict__ 关键字?

    假设我有 struct s int restrict p1 double v void foo int restrict p2 struct s my s 下面列出的 C 编译器是否遵循 restrict 在这种情况下关键字 并假设内存访问
  • 将 DataGridCell ToolTip 属性绑定到 DataGridCell 的值

    I have DataGrid和其中之一DataGrid列看起来像这样
  • 如何在 Chartjs 中添加图像作为背景?

    我在可编程设备上使用 Chart js lib 我需要添加图像作为图表的背景 如果不可能 我如何将背景颜色更改为黑色 我无法使用 Jquery 因为平台不支持它 谢谢 谢谢你 我没想到CSS 我也以类似的方式添加了图像 canvas bac
  • 如何在执行之前获取processbuilder命令

    我想知道在它发生之前将执行的命令 String cmd curl X POST https api renam cl medicion insert access token Yoq3UGQqDKP4D1L3Y6xIYp Lb6fyvavp
  • 在使用 Javascript 上传之前检查图像的宽度和高度

    我有一个 JPS 其表单中用户可以放置图像 div class photo div Photo max 240x240 and 100 kb div div
  • 在 PHP 中保护登录 cookie 数据的最佳方法是什么?

    我正在用 PHP 创建一个登录系统 我想知道如何最好地保护 cookie 中的用户信息字符串 我正在考虑用密钥以某种方式加密字符串 这是最好的方法吗 我对此有点陌生 提前致谢 不要在 cookie 中存储敏感信息 存储会话 ID 哈希以将登
  • firebase.intializeApp 不是一个函数

    所以我陷入了这个错误 我使用 telegram bot api 制作了一个 telegram 机器人 现在尝试设置一个 firebae DB 来保存组成员的分数 因此重新启动机器人后分数不会重置 有人可以告诉我问题是什么吗 我在这里读到了很
  • 如何在 Sublime Text 2 编辑器中将一行传递到控制台

    我使用 RStudio 来处理 R 编程语言并找到ctrl enter将一行发送到控制台的快捷方式对于解决我的工作问题非常有用 现在我正在使用 sublimetext2 我想在 RStudio 中做同样的事情 向控制台发送一行 有没有办法将
  • 定位偏移 div / 图像

    我想达到这个结果 参见此示例图片 首先 我尝试使用 CSS 创建部分边框 使用div after 问题 我有几个不同格式的图像 但它无法正常工作 所以 我尝试过使用背景 divposition relative和一个图像position a
  • docker-compose 不使用 Flask 设置环境变量

    运行 Flask 容器 当我尝试读取环境变量时 它们不是由 docker compose 设置的 我正在使用 docker compose 文件版本 2 compose file services test build test image
  • 像表格一样显示 DL [重复]

    这个问题在这里已经有答案了 如何设置定义列表项的样式以使每个定义都在一行中 HTML dl dt word dt dd meaning dd dt word dt dd meaning dd dt word dt dd meaning dd
  • Jupyter Lab未使用虚拟环境

    我创建了一个虚拟环境并安装了ipython all and jupyter与点 当我跑步时jupyter lab 打开笔记本 并尝试导入我在虚拟环境中安装的包 我收到 ModuleNotFoundError Running ipython在
  • 如何在 jquery 中切换 attr()

    我有一个简单的添加属性函数 list toggle click function list sort attr colspan 6 我的问题是 我怎样才能把它变成一个切换 所以colspan 6 下次单击时从元素中删除吗 如果你感觉很奇特
  • RenderTargetBitmap 渲染尺寸错误的图像

    我的任务是向用户显示 XPS 文档每一页的缩略图 我需要所有图像都很小 所以我用dpi设置为 72 0 我在 google 上搜索到 dpi 72 0 的 A4 纸的尺寸为 635x896 基本上 我执行以下操作 List
  • Sequelize 模型与模型不关联

    我花了几个小时却毫无结果 我有很多资源 它们都有点相同 但我就是无法让我的项目发挥作用 这个问题Sequelize js 不关联到 https stackoverflow com questions 50841912 sequelize j
  • 将此递归函数转换为迭代函数

    如何将这个递归函数转换为迭代函数 include