towers-of-hanoi相关内容

这个迭代的河内塔是如何工作的?C

可能重复: 这是如何工作的?奇怪的河内塔解决方案 在浏览 Google 时,我发现了河内塔的这个有趣的解决方案,它甚至不使用堆栈作为数据结构. 谁能简要解释一下,它实际上在做什么? 这种解决方案真的可以接受吗? 代码 #include #include 主函数(){整数 n, x;printf("多少个磁盘?\n");scanf(" ..
发布时间:2022-01-24 11:53:27 其他开发

在显示更新之间使用 pygame.time.wait()

我目前正在 Pygame 中开发一个简单的河内塔动画,它应该显示河内塔的正确解决方案,每秒移动一个. 但是,在我的河内求解算法中,我试图在每次移动后更新显示并使用 pygame.time.wait();而不是更新一个动作并等待一秒钟,程序会等待移动的总数秒,然后显示所有动作一次完成的塔. 我想知道的是我是否错误地使用了等待功能,或者在这种情况下我是否缺少任何其他有用的功能. 代码 ..
发布时间:2022-01-02 11:03:12 Python

河内塔的递归算法如何工作?

这是我解释递归的一本书中的代码.问题是我不明白程序采取的步骤: var hanoi = function(disc,src,aux,dst) {如果(光盘> 0){河内(光盘 - 1,src,dst,aux);document.write("Move disc " + disc + " from " + src + " to " + dst + " ");河内(光盘 - 1,aux,src,ds ..
发布时间:2021-12-16 08:39:19 前端开发

河内塔:递归算法

尽管我对递归的理解没有任何问题,但我似乎无法围绕河内塔问题的递归解决方案.这是维基百科的代码: procedure Hanoi(n: integer; source, dest, by: char);开始如果 (n=1) 那么writeln('将盘子从 ', source, ' 移到 ', dest)否则开始河内(n-1, source, by, dest);writeln('将盘子从 ', s ..
发布时间:2021-12-16 08:10:11 其他开发

需要解释我的河内塔递归代码的工作原理

我刚刚进入递归,我想我对它的工作原理有一个基本的了解.我有这个河内塔问题的代码,我已经盯着它看了一个小时,试图弄清楚它到底在做什么.'moveDisks' 方法让我感到困惑.我希望有人可以帮助解释该方法中发生的事情.不是我写的. 为了尝试理解,我运行了代码并将磁盘数设为 2.这是打印出来的: 动作是:将磁盘 1 从 A 移到 C,将磁盘 2 从 A 移到 B,将磁盘 1 从 C 移到 ..
发布时间:2021-07-05 19:28:26 Java开发

禁止从源头到目的地的河内塔(C)

我正在尝试编写一个递归C函数,该函数将解决Hanoi塔,但有一个额外的限制,即禁止将光盘从A(源塔)移动到C(目标塔),反之亦然.例如,将一张光盘从A移到C或将C移到A会需要使用辅助塔架(B). 我从geeksforgeeks找到了一个普通的递归河内塔式代码,并检查了 ..
发布时间:2021-05-09 20:12:55 其他开发

如何实例化int类型的Stacks数组?

我正在尝试创建一个堆栈数组,其中该数组中的每个堆栈的类型为 int 。 如果我这样创建数组: Stack []数字=新的Stack [3];   ;,会出现编译错误“ 无法创建Stack 的通用数组”。因此,我尝试使用通配符类型而不是 Integer 创建堆栈数组, 然后 not 没有此错误。 但是,如果我尝试将 int 推入堆栈之一( ..
发布时间:2020-09-25 04:04:12 Java开发

方案:河内塔(递归)

我首先要说这是家庭作业;所以我不是在寻求解决方案,只是一些技巧.我已经对此进行了大约一个星期的思考.我想出的每个解决方案都不会递归地执行此操作,因为我无法用列表作为唯一参数来递归地执行此操作.我的教授说,他们能够使用大约6个辅助功能来做到这一点. 如上所述,我必须解决将列表作为唯一参数的问题.这是我最近尝试的例子. (define (sumSublists lst) (if (= ..
发布时间:2020-07-11 02:49:31 其他开发

河内带有“柜台"的塔楼在python中

我用python编写了“河内之塔"的代码,我试图添加一个计数器以显示其运行了多少次.我尝试了一些事情,如while循环和for循环等,但是它不起作用.我敢肯定,答案很简单,但我的大脑目前正在最低的设置上运行.我的代码如下: def Hanoi(n, src, dst, tmp): if n > 0: Hanoi(n - 1, src, tmp, dst) print "Mov ..
发布时间:2020-07-11 02:48:27 Python

HASKELL:解决河内的塔

下面的代码使用预定义的函数moveLOD,swapLOI和swapLID解决了河内返回的移动列表的问题. MoveLOD:将一张光盘从三联体的第三个位置的第一个位置移动到第三个销钉.另外,将包含有关运动信息的字符串堆积在字符串列表上. type Pin = (Char, Int) -- Represents a rod, named for a character and ..
发布时间:2020-07-11 02:48:23 其他开发

河内塔柜台

我已经为《河内的塔》游戏编写了代码.我不知道该程序执行了多少次后如何实现该计数器.任何帮助将不胜感激. public class MainClass { public static void main(String[] args) { int nDisks = 3; doTowers(nDisks, 'A', 'B', 'C'); } public static ..
发布时间:2020-07-11 02:48:20 Java开发

河内塔,停止滑动

我为河内塔问题开发了解决方案: public static void bewege(int h, char quelle, char ablage, char ziel) { if(h > 0){ bewege(h - 1, quelle, ziel, ablage); System.out.println("Move "+ h +" from " + quell ..
发布时间:2020-07-11 02:48:16 Java开发

计划中的河内塔(递归)

我今天在scheme中编写了以下代码,但是评估是错误的.请不要告诉我我很喜欢编程,我知道这是一个经典的递归问题,但是我遇到了麻烦: (define (towers-of-hanoi n source temp dest) (if (= n 1) (begin (display "Move the disk from ") (display source) ..
发布时间:2020-07-11 02:48:13 其他开发

河内塔使用递归

我对河内塔一无所知.我想使用递归为此编写一个程序. 解决方案 来自 Wikipedia : 河内之塔或河内之塔 (也称为梵天塔) 是数学游戏或益智游戏.它 由三根杆和一个 不同大小的磁盘可以 滑到任何杆上.难题开始 磁盘整齐排列 一根杆的最大尺寸,最小为 顶部,从而制成圆锥形. 查看递归解决方案. ..
发布时间:2020-07-11 02:48:09 其他开发

代号高尔夫:河内塔

规则 河内塔是一个难题,如果您不太熟悉它,它的工作方式如下: 比赛场地包括3个杆和 x 个盘,每个盘比上一个大.可以使用以下 规则 将磁盘放置在杆上: 一次只能移动一个磁盘,并且必须将其移动到另一根棒的顶部 必须从杆的顶部取下磁盘 如果目标杆上最上方的磁盘比要移动的磁盘大,则可以将磁盘移动到唯一的. 最后-像这样的比赛场 STARTS : 一根带有 x 个盘的杆,其 ..
发布时间:2020-07-11 02:48:07 其他开发

河内爪哇塔

这是我正在从事的作业.我创建了2个课堂来玩河内塔.第一个基本上是运行实际游戏类的跑步者. import java.util.Scanner; class TowersRunner { public static void main(String[] args) { TowersOfHanoi towers = new TowersOfHanoi(); ..
发布时间:2020-07-11 02:47:05 Java开发

在显示更新之间使用pygame.time.wait()

我目前正在Pygame中开发一个简单的河内塔动画,该动画应该显示正确的解决方案,每秒移动一个. 但是,在我的河内求解算法中,我试图更新显示并在每次移动后使用pygame.time.wait();而不是更新一个动作并等待一秒钟,程序会等待总动作数秒,然后显示同时完成所有动作的塔架. 我想知道的是我是否错误使用了wait函数,或者在这种情况下是否缺少其他有用的函数. 代码如下: ..
发布时间:2020-07-11 02:47:01 Python