问题标签 [zebra-puzzle]
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.
prolog - 在 Prolog 中解决关于时间限制的难题
卡在 Prolog 问题上。我知道答案(因为我先在纸上做了),但我不知道如何让 Prolog 想出答案。
问题:
比尔每晚都吃点零食,每晚吃不同的水果和不同的坚果。从下面的陈述中,找出比尔上周每个工作日晚上吃了什么零食。
a) 苹果比芒果吃得晚。
b) 香蕉比杏仁和花生吃得晚,但比梨吃得早。
c) 腰果比香蕉和杏早吃,但比花生晚。
d) 杏仁后晚上没有吃山核桃。
e) 比尔吃了一晚核桃。
请注意,问题是关于 5 个工作日晚上(周一至周五),并提到了 5 种水果和 5 种坚果。您的程序应该解决问题并打印出解决方案,这将是一组 5 个三元组,例如(星期一,苹果,山核桃),...(星期五,芒果,核桃)。
显然,这些不是正确的答案,而只是向您展示解决方案的价值。
到目前为止的代码:
prolog - prolog中斑马拼图的变化,我不知道我哪里出错了
我知道斑马谜题在这里经常被问到,但这有点不同:我们在 Prolog 中得到了斑马谜题的变体来编写。我对此非常陌生,但去年我什至尝试从一些拥有不同变体的人那里获得帮助,他们不确定我的代码发生了什么。
我会发布整件事,我希望这不是压倒性的或不好的做法。
我的数据库加载得很好,但是当我尝试运行任何东西时会导致错误。如果我跑dorms(Dorms)
打印出所有结果,我会被退回false
。当我跑步csMusic
(试图找到CS专业听的音乐类型)或engDrink
(试图找到英语专业喝什么样的饮料)时,我又回来了false
。
我对 Prolog 知之甚少,但在解决这个问题时,我尽我所能在swipl网站上跟进。是否有任何人可以指出的容易我想念的东西?可能是命名不一致?
非常感谢您的帮助,谢谢!
prolog - 有没有办法在 Prolog 中扩展爱因斯坦的谜语?
首先,感谢您提出我的问题。关于这个问题,我一直在编写 Prolog 代码来模拟爱因斯坦的谜语。我认为这是一个非常优雅的解决方案,它基本上是一个包含某些字段(如房屋颜色、宠物、国籍等)的元组列表。我已经对列表进行了建模,并且提示也在那里,但是我在尝试建模时遇到了麻烦问题。
问题是,我不想仅仅停留在“谁拥有鱼?”这个简单的问题上。我想模拟一个更难的问题。例如:“住在红房子右边的房子里的人养什么宠物?”。这似乎是对列表中具有颜色元组的索引的简单检查,并在列表中的索引处返回元组的字段,但我对 Prolog 的经验非常有限(这实际上是我的第一次使用它),我不确定如何实现它。我将在下面提供我的代码。我感谢所有答案。谢谢你。i
red
pet
i+1
prolog - Prolog 办公室拼图
我正在尝试为学校做 Prolog 作业,基本上它是在尝试找出谁在哪个办公室。问题是:
Hunter、Laura、Jim、Sally 和 Jack 在与五个相邻办公室的同一栋大楼内工作。亨特不在第五办公室工作,劳拉不在第一办公室工作。Jim 不在第一个或最后一个办公室工作,而且他不在 Jack 或 Laura 旁边的办公室。莎莉在比劳拉更高的办公室工作。谁在什么办公室工作?
所以我拥有的是下面的代码,但我收到了:
这是代码。
prolog - Prolog 逻辑拼图失败
我正在尝试解决此处发现的逻辑难题:https ://www.braingle.com/brainteasers/teaser.php?id=23826&op=2&comm=1#c
这些是线索:
鲜花的购买顺序如下:郁金香、办公室的花、紫色的花、公园的玫瑰和朱莉娅买的白花。
Bethany 喜欢花,但她过敏,所以她永远不会在室内养花。
周三和周五下雨,因此,婚礼和生日派对不得不搬到室内。
艾米在瑞秋之后买了她的花,但在克里斯汀之前。
Rachel 需要为她的办公室增添一些东西,所以她选择了桃花来搭配她的窗帘。
周三,花店里仅有的紫色花朵是雏菊。
粉红色的花朵是在康乃馨之后,百合之前买的。
生日花是在办公室花之后,婚礼花之前买的。
我试图用以下代码在序言中实现这一点:
这似乎不起作用。我认为问题在于我的代码在定义一朵花之前发生在另一朵花之前,但我不确定这是否是问题以及如何解决它。另外,我认为说 Bethany 为后院或公园买花(不是婚礼、生日或办公室)是有问题的。
以下是谜题的答案:
朱莉娅:百合,白色,婚礼,星期五
艾米:雏菊,紫色,生日,星期三
伯大尼:郁金香,黄色,后院,星期一
瑞秋:康乃馨,桃子,办公室,星期二
克里斯汀:玫瑰,粉红,公园,星期四
prolog - 序言:谋杀之谜解决方案
我最近开始学习 Prolog 是为了好玩。我发现了以下谋杀之谜。由于除了基础知识之外我对 Prolog 知之甚少,因此我无法真正评估链接中提供的解决方案,但是,它对我来说似乎并不是特别好。我的解决方案不足以产生正确的答案,所以我正在寻找一些关于如何到达那里的指示,或者是否有可能用我的方法到达那里。这是万一链接断开的难题:
要查明是谁杀死了博迪先生,您需要了解每个人在哪里,以及房间里有什么武器。线索分散在整个测验中(在阅读完所有 10 个问题之前,您无法解决问题 1)。
首先,您需要了解嫌疑人。有三个男人(乔治、约翰、罗伯特)和三个女人(芭芭拉、克里斯汀、约兰达)。每个人都在不同的房间(浴室、餐厅、厨房、客厅、储藏室、书房)。在每个房间里都发现了一件可疑的武器(袋子、火器、毒气、刀、毒药、绳子)。谁在厨房被发现?
线索1:厨房里的人没有带绳子、刀或包。那么,在厨房里发现了哪种武器,而不是枪支呢?
线索 2:芭芭拉要么在书房,要么在浴室;约兰达在另一个。芭芭拉是在哪个房间找到的?
线索 3:提包的人既不是芭芭拉也不是乔治,他既不在浴室也不在餐厅。谁把包放在房间里?
线索4:在研究中发现了拿着绳子的女人。绳子是谁拿的?
线索 5:客厅里的武器是在约翰或乔治身上找到的。客厅里放着什么武器?
线索6:刀不在餐厅里。那么刀在哪里呢?
线索 7:Yolanda 没有携带在书房和储藏室中发现的武器。与尤兰达一起发现了什么武器?
线索 8:枪和乔治在房间里。枪支是在哪个房间找到的?
人们发现博迪先生在储藏室里被毒死了。在那个房间里发现的嫌疑人就是凶手。那么,你指的是谁呢?
这是作者解决方案的链接。
这是我尝试的解决方案:
prolog - `next` 谓词如何工作,做出两个相反的选择?
我正在制作爱因斯坦的谜语,我有一个解决方案,但我不明白一个特定的陈述是如何工作的,这里是代码:
最后一部分next
是,我明白它指的是什么,他们习惯说一个房子在另一个旁边,但我不明白同一个函数如何将两个东西相互颠倒使用,Prolog怎么知道何时使用其中一种?也许我忘记了一些这种逻辑语言,但我现在不记得了,这是我的怀疑。我想了解它是如何工作的。
prolog - 如何在 prolog 中修复 Einstein Zebra 中的错误 >
我有斑马拼图的问题。
在下面
house[Nationality,Pet,Smokes,Drinks,Colour].
我看到错误:Singleton variables: house[Nationality,Pet,Smokes,Drinks,Colour]
。
当我写?- zebra_owner(Owner)
我看到了错误:procedure 'houses(A)' does not exist. Reachable from:
zebra_owner(A)。`
prolog - 序言中的爱因斯坦谜题
我试图在序言中解决爱因斯坦难题 - 五朋友版 - 但我卡住了。我似乎无法在我的代码中找到错误,或者如何解决它。目标是编写一个 Prolog 程序,正确识别他们每个人做了什么样的谜题、谜题的主题以及他们完成它需要多长时间 - 解决方案(人、种类、时间、主题)
我也收到此错误:
uncaught exception: error(existence_error(procedure,members/3),clue1/0)
我觉得跟会员有关系?
知识库:
五个朋友分别是 Krystal、Angie,一个是做外太空拼图的,一个是用 30 分钟完成拼图的,一个是做单词搜索的。
Ethan 要么在 90 分钟内完成字母拼图,要么在 20 分钟内完成冬季主题拼图。
德里克和那个做逻辑谜题的人,一个花了 45 分钟,而另一个人做了一个电影主题的谜题。男孩用最短和最长的时间完成他们的谜题。
尼克花了不到 40 分钟的时间来解决他的谜题,这不是视觉数独。安吉花了 40 多分钟来完成她的猫拼图。
那个花了 60 分钟做运动拼图的女孩没有做拼图。拼图是由一个男孩做的,比做逻辑拼图的男孩用时短,但比做单词搜索的男孩用时多。
视觉数独要么需要一个小时才能完成,要么是以外太空为主题的。德雷克没有做冬季主题的谜题(不是单词搜索。)
这是我的代码: