VBscript 的递归问题

2024-01-09

我正在尝试在 vbscript 中实现一些递归。

Function largest_prime_factor (ByVal num)

    For i = 2 to num/2
        If num mod i = 0 Then   'this number is not prime
            largest_prime_factor (num / i)
        End If
    Next

    largest_prime_factor = num ''if at this point, we have reached the largest prime

End Function

正如您所看到的,这个脚本基本上是为了给我一个数字的最大质因数而设计的。然而,当我运行打印时,这个脚本仍然向我吐回估算的数字。经过调试,我发现脚本确实会在 for 循环中输入条件,但它不会递归(即:它将继续运行 for 循环,然后在该点之后结束)

关于 VBscript 中的递归,我错过了什么?我也尝试过一些效果

largest_prime_factor = largest_prime_factor (num / i)

在条件里面,这也不起作用。


在上面发布的代码中,您犯了两个小错误

  1. 您已经创建了返回数字的函数,在递归调用它时,您应该在变量“num”中获取该数字以进行进一步处理。
  2. 您犯的第二个错误是在获得所需的输出后没有退出循环。这会导致进一步循环,直到 i = num & 在所有情况下你的答案都是 1。

工作代码---

Function largest_prime_factor (ByVal num)
 For i = 2 to num/2
        If num mod i = 0 Then   'this number is not prime
              num= largest_prime_factor (num / i)
              Exit For 
        End If
 Next
largest_prime_factor = num ''if at this point, we have reached the largest prime
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBscript 的递归问题 的相关文章

  • 如何在 Python 中检索 for 循环中的剩余项目?

    我有一个简单的 for 循环迭代项目列表 在某些时候 我知道它会破裂 我该如何退回剩余的物品 for i in a b c d e f g try some func i except return remaining items if s
  • 数字之和 C++

    我应该编写一个程序 要求用户提供正整数值 该程序应该使用循环来获取总和 从 1 到输入数字的所有整数 例如 如果用户输入 50 循环将求出 1 2 3 4 50 但由于某种原因它不起作用 我的 for 循环遇到了麻烦 但这就是我到目前为止所
  • 批处理文件 FOR/f 扩展

    我有一个文件 directories txt 与目录名称 每个在一行上 我喜欢扩展该行 C Documents and Settings USERNAME My Documents 在我的脚本中以真实用户名运行脚本 然而 回声与线路完全相同
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • vbs以字典作为参数执行另一个vbs脚本

    我正在尝试从另一个 vbscript 执行一个 vbscript 我的想法是 我必须传递字典作为参数 但我总是收到相同的错误消息 到目前为止 这是我的代码 dim objShell Set objShell Wscript CreateOb
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • 迭代字符串 R 的字符

    有人可以解释一下为什么这不会在 R 中单独打印所有数字 numberstring lt 0123456789 for number in numberstring print number 字符串不就是字符数组吗 在 R 中该怎么做 In
  • 在for循环中声明和初始化变量

    可以简单写一下吗 for int i 0 代替 int i for i 0 在 C 或 C 中 并且会变量i只能在循环内部访问 它在 C 中有效 它在 C 的原始版本中是不合法的 但在 C99 中被采用为 C 的一部分 当时一些 C 功能被
  • “致命错误:已达到最大函数嵌套级别‘100’,正在中止!”的解决方案在 PHP 中

    我创建了一个函数 可以查找 html 文件中的所有 URL 并对链接到发现的 URL 的每个 html 内容重复相同的过程 该函数是递归的 可以无限地进行下去 但是 我通过设置一个全局变量来限制递归 这会导致递归在 100 次递归后停止 但
  • 尾递归支持缩短其他函数调用的堆栈吗?

    支持尾递归的语言可以将相同的技术应用于非递归函数调用吗 例如 如果最后一个函数foo所做的是返回调用的值bar 语言可能会丢弃foo的堆栈框架 是否有已知的语言可以真正做到这一点 Erlang 确实如此 http learnyousomee
  • 如何通过map[string]interface{}递归迭代

    我遇到了一个问题 如何在附加条件下递归地迭代 map string interface 1 如果一个值是一个映射 递归调用该方法 2 如果一个值是一个数组 调用数组的方法 3 如果一个值不是一个映射 处理它 现在当方法尝试执行时doc th
  • 递归指数法

    public static int exponent int baseNum int temp baseNum baseNum return temp exponent baseNum 现在 如果我调试它 上面的方法会 n n 变成无穷大
  • 解决复发问题

    我被给予F 0 X and F i A F i 1 2 B F i 1 C 1000000 for 1 i N 现在给出N A B C and X 如何找到所有N元素有效吗 我需要将这 N 个元素分成 2 个集合 其中最大的元素在第一个集合
  • 基本 Java 刽子手

    我刚刚开始学习 Java 作为我的第一门编程语言 在课堂上 我们被分配使用 while 和 for 循环制作一个基本的 Hangman 游戏 到目前为止我所拥有的 当用户输入第一个猜测时 它确实识别出他 她猜测的字符已被纠正 但只是继续并指
  • 从总和为所需总数的值列表中确定所有可能的组合

    一位朋友问我一个编程问题 关于如何确定一组值中所有可能的值组合可以相加以获得所需的总数 我有一个解决方案 但它不太优雅 它基本上只是一系列 for 循环和 if 语句 我确信 dplyr 有一个我想不到的解决方案 因为我知道它有多么有用 但
  • 将值添加到 R 中 for 循环内的向量

    我刚刚开始学习 R 我编写了这段代码来学习函数和循环 squared lt function x m lt c for i in 1 x y lt i i c m y return m squared 5 NULL 为什么这个返回NULL
  • 不同大小组的高效递归随机抽样

    这个问题是我之前关于递归随机抽样问题的后续问题高效的递归随机采样 https stackoverflow com questions 69824065 efficient recursive random sampling 当组大小相同或每
  • 在 python for 循环中一次运行 3 个变量。

    python 2 7 中具有多个变量的 For 循环 Hello 我不确定如何解决这个问题 我有一个功能可以访问网站并下载 csv 文件 它以特定格式保存 csv 文件 name uniqueID dataType csv 这是代码 imp
  • 只返回 $.ajax 传递的 JSON 数据的前 20 个结果?

    我有以下简单的 jquery 片段 document ready function ajax url myjson json dataType json success function json each json function al

随机推荐

  • 装饰基于类的视图的两种方法有什么区别?

    我正在编写一个继承自 ListView 的视图 并尝试将该视图限制为登录用户 https docs djangoproject com en dev topics class based views decorating in urlcon
  • 创建 HUE 颜色条

    我正在创建一个颜色选择器 现在我需要创建一个 HUE 颜色条 创建它的一种方法是通过 XAML 中的渐变停止点 例如
  • 方案和浅绑定

    define make lambda x lambda y cons x list y let x 7 p make 4 cons x p 0 我是计划和函数式程序的新手 所以我对遍历程序有点笨拙 但我知道如果我使用深度绑定 该程序将返回
  • 如何使用函数进行模板模板参数推导?

    考虑一组函数 例如 template lt class Fun gt void A const Fun template lt class Fun gt void B const Fun template lt class Fun gt v
  • GWT 1.6 项目战争布局 - 混合源代码和编译器生成的工件?

    刚刚完成了一个基于 GWT 1 5 的项目 我正在考虑如何迁移到 1 6 我很惊讶地发现 GWT 似乎想将其编译输出写入 war 目录 通常在该目录中将项目置于源代码控制之下 这背后的原因是什么 谷歌真的认为这是个好主意吗 是否有解决方法可
  • 如何从HDFS文件系统执行hadoop jar?

    我总是从本地文件系统执行作业 如下所示 hadoop jar home usr jar myjar jar com test TestMain 如何执行相同的命令 但 myjar jar 将位于 hdfs 中 就像是 hadoop jar
  • 如何转义字段名称方括号内的方括号

    我有一些生成列名的动态 SQL 一个简单的例子可能是这样的 SELECT dbo getSomething 123 Eggs scrambled or Bacon fried 最终的列名称应该是这样的 鸡蛋 炒 或培根 煎 如果我尝试运行它
  • 使用 LESS 递归获取当前索引

    我正在尝试做到这一点 我有一个像这样的数组 levels level one level two level three level four level five level six level seven level eight 每个级
  • iPhone超声波检测(超过22kHz)

    iphone 3GS及以上型号能检测到的最大频率是多少 我一直在探索iPhone音频 我需要在没有任何外部设备的情况下检测 22 kHz 的声音频率 是否可以 如果麦克风设计得好 它将有一个抗混叠滤波器 其滚降始于略低于奈奎斯特频率 以确保
  • ffmpeg水印处理速度很慢

    我正在开发一个视频处理项目并使用 ffmpeg 进行水印 我完全实现了我想要的 但问题是这个过程非常非常慢 我在 32 位操作系统 Microsoft Windows 8 64 位 CPU 上使用具有 4GB RAM 的英特尔智能第二代系列
  • iOS8中用户默认的plist文件存储在哪里?

    我找不到首选项 plist 文件 因为首选项文件夹为空 要获取库文件夹 我使用 println NSSearchPathForDirectoriesInDomains LibraryDirectory UserDomainMask true
  • 在 MongoDB 中的 Angular.js 中显示图像

    我最近打开了另一个关于如何使用 node js mongoose 在 mongodb 数据库中存储图像的线程 使用猫鼬保存图像 https stackoverflow com questions 27353346 saving image
  • Django:通过“field__isnull=True”或“field=None”过滤查询集?

    我必须通过动态值 可以是 无 过滤查询集 我可以简单地写 filtered queryset queryset filter field value 或者我应该检查 无 if value is None filtered queryset
  • 设置 Cygwin + Android NDK + cocos2Dx 以与 Eclipse 配合使用

    我正在关注该网站的教程 通过游戏应用货币化 作者 Todd Perkins http www lynda com Android tutorials Understanding downloading Cocos2d x 107169 12
  • BASH 数组索引减去最后一个数组

    这是一个困扰我的问题 我需要从用户输入中读取版本号 并且我想使用存储版本号的数组的长度创建一个 菜单 然而 BASH 的神秘语法在这里对我没有帮助 echo VERSIONS 2 0 10 1 2 0 7 1 2 0 7 1 2 0 7 1
  • 数据表:尝试以 csv 格式获取每个表行的选定单选按钮值

    我正在使用 jquery 数据表插件 我想做的是以 CSV 逗号分隔值 格式获取所有选定的单选按钮值 由于记录太多 所以使用分页 当我选择第一页上的单选按钮时 我可以获取 CSV 中所有选定的单选按钮值 运行良好 当我转到第二页并选择单选按
  • 使用 nginx 记录已解析的请求

    如何为 nginx 设置自定义日志格式 以便解析请求并单独记录其各部分 我们提供图片文件来统计邮件的打开次数 图片的 URL 有所不同 但遵循以下规则 http www server com counter XXXXX YYYYY dail
  • GitHub 操作:致命:无法读取“https://github.com”的用户名:设备未配置

    我试图让git clone在私人存储库上使用 Github Action 但我不确定应该如何配置它以使用 SSH 连接到 GitHub 顺便说一句 它是 macOS 运行程序 此时此刻 actions checkout工作正常 但是当我打电
  • 通过互联网传输数据的最简单方法,Python

    我有两台电脑 都连接到互联网 我想在它们之间传输一些基本数据 字符串 整数 浮点数 我是网络新手 所以我正在寻找最简单的方法来做到这一点 我需要哪些模块来做到这一点 两个系统都将运行 Windows 7 只要它不是异步的 同时发送和接收 您
  • VBscript 的递归问题

    我正在尝试在 vbscript 中实现一些递归 Function largest prime factor ByVal num For i 2 to num 2 If num mod i 0 Then this number is not