问题标签 [towers-of-hanoi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 解析递归河内塔算法
很抱歉问这个问题,但我没有发现任何其他现有线程有用。我不得不说我很难理解复杂的话题,也许我只是愚蠢。我对此深感抱歉。无论如何,我试图解析以下内容,但有些不对劲。
我草草写了一些笔记来帮助自己解析代码:
第二个递归调用过早停止,我想知道我忽略了什么。
我发现迭代代码更容易理解,我写了一个基于迭代算法的递归算法。
prolog - Visual Prolog 中的河内塔
我对视觉序言相当陌生,想知道如何集成在此链接上找到的代码。
当我在 Visual Prolog 中创建控制台项目时,main.pro 中的代码是:
所以,我的问题是在这个链接上在哪里插入河内塔的代码?
为方便起见,代码如下:
提前感谢您的帮助。
ruby - 河内之塔:Ruby 中的递归解释
注意:我了解递归解决方案;但我看不到代码是如何实现的,因为我无法按照代码执行的逐步进行。
我很难理解河内塔的递归循环。我已经评论并尝试了各种策略来查看程序是如何运行的,但我似乎无法掌握循环是如何运行的以及环是如何被引导的。
这是输出:
我查看了各种解释,但是,我没有看到解释循环是如何执行的。例如,我不明白为什么在环是偶数的情况下,第一步将环 1 从 a 放置到 b,而对于所有奇数环,它是从 a 到 c,如上所示。
我理解解决方案背后的逻辑,为了在使用辅助挂钩时将 n 个环移动到目的地,需要您首先将 n-1 个环移动到辅助挂钩,然后将第 n 个环移动到目的地并重复第一个程序,再次。但是,我不确定放置方向是如何变化的,例如,当上面对 move 方法的调用似乎没有提到 c 到 b 时,我看不到块是如何从 c 到 b 的。
提前感谢您的时间和帮助。
此外,如果您对帮助跟踪 Ruby 中的代码执行过程有任何建议,请告诉我。我很想听听您对如何解决不确定事情如何执行的实例的一些见解。
渴望听到你的答案:)
c++ - 河内塔 C++(使用递归)
我编写了以下代码作为练习。
打印目标堆栈时输出不正确。
谁能指出我哪里出错了?
这是我得到的输出:
编辑后,代码如下所示:
第一个错误是:
第二个是:
非常感谢大家的帮助!
对堆栈类所做的更改:
c - 了解河内塔的递归解决方案
有人可以解释一下这个程序吗?我特别想知道参数是如何传递给函数的tower
,以及递归是如何工作的。
这是代码:
algorithm - 学习算法时的方法
我正在学习算法并来到这座河内塔。我知道如何实际做到这一点。但我无法编码。我还没有阅读给定的代码。我自己先试试。我的方法应该是什么 - 继续尝试或阅读给定的代码或其他内容?
所有算法都应该遵循这种方法吗?
math - Prolog - 写连续的数字_
我的任务是:让这个 hanoi 程序在写每个句子之前写一个连续的数字。
河内计划是这样的:
我希望输出看起来像这样:
list - OCaml 中的河内塔
我是一个初学者 OCaml 程序员,试图在 OCaml 中创建一个函数来解决河内塔问题,该解决方案由一个移动列表表示,其中“移动”存储在表单的元组中(startPeg,endPeg)。
这是我到目前为止所拥有的:
我收到错误消息:
文件“induction.ml”,第 8 行,字符 8-27:错误:此表达式的类型为 'a 列表,但表达式应为 'a 类型。类型变量 'a 出现在 'a 列表中
并且不知道如何解决它。谁能帮我纠正我的错误?谢谢
scala - Tail-Recursion for Towers of Hanoi in Scala
I'm new to programming in Scala. My aim is to implement a tail-recursive program for the Towers of Hanoi problem. I believe it can be achieved by recursion like this:
Can it implemented using tail-recursion as well?