问题标签 [prolog]
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 中的 \+ 是什么意思?
我在这里看到了一些使用它的答案,但我不知道它的含义或如何使用它。我也很难通过搜索引擎找到它:)
math - Prolog解析后缀数学表达式
我自己解决了这个问题。当我的作业过期时,我会发布解决方案。
好的,我将构建一个解析器或评估器。使用前缀表示法解析时的事实标准是仅使用堆栈。如果输入是数字,则添加到堆栈中,如果是运算符,则可以弹出两次应用运算符并将结果放回堆栈。
这里的堆栈将是一个列表,所以我需要知道如何应用运算符。输入将是一个字符串。“(11+2*)” 这将是 1+1=2*2=4。首先它将读取 1 和 1 到堆栈。读取另一个 1 并将其添加到堆栈中。现在它读取“+”,因此它从堆栈中删除(pop)两次并应用+并将结果放回。读取 2,将 2 放入堆栈。阅读*,弹出两次并应用*。
希望这是有道理的。谓词会是什么样子?我需要一个用于输入字符串的变量,一个用于维护堆栈,一个用于结果?三?
我特别想知道堆栈上的推送和弹出以及从输入字符串中删除。
prolog - Prolog之谜(c,[a,b,c,d],Z)
我认为答案是 3,但我不确定,谁能提供一些帮助?
假设在 Prolog 中输入以下两条语句:
如果给它以下目标,Prolog 会返回什么?
prolog - Prolog中非基础事实的使用?
在 Prolog 中,您可以将基本事实编写为:
您还可以将非基础事实写为:
这有什么意义吗?你能给我看一个使用非基本事实的实际/真实例子吗?
谢谢,
prolog - prolog 在方法中被截断
我有一个问题想问你一些关于代码片段的问题:
该函数非常清楚地将一个项目添加到优先级队列中。我遇到的问题是第一行中的切断运算符。大概每当调用到达这行代码时,这是查询的唯一可能解决方案,并且函数调用将简单地展开(或者它结束了?),没有必要回溯并搜索另一个解决方案询问。
所以这里的切断是多余的。我的推论正确吗?
list - Prolog IntList 定义
如果 IntList 由单调递增的 > 整数和后跟单调递减的整数组成,则 hill(+IntList) 成功。例如,>[1,2,5,8,11,6,3,-1] 是小山,但 [1,2,5,8,11,6,9,3,-1] 和 [1 ,2,3,4,5,6] >不是山丘。您可以假设 IntList 仅包含整数。
这是我到目前为止所做的:
但这不起作用。逻辑是:一个数字列表是hill
IF 它是increasing
然后decreasing
。我怎么说?此代码执行increasing
and decreasing
,但没有列表可以同时是increasing
and decreasing
。
有任何想法吗?
prolog - Prolog中的帕斯卡三角形
我已经编写了一个函数,用于在给定当前行的情况下返回帕斯卡三角形中的下一行:
我希望能够找到三角形中的第 n 行,例如pascal(5,Row)
, Row=[1,5,1,0,1,0,5,1]
。我有这个:
显然Row
应该是之前发现的最后一个n==0
。我该如何退货?我尝试使用is
关键字,即Row is NR
,但这显然是不允许的。有什么帮助吗?
尝试is
在列表上使用让我:
prolog - 序言帕斯卡三角形
嗨,有没有人知道当我要求时我该怎么做帕斯卡第 n 行:?帕斯卡(2,行)。我得到 Row=[1,2,1] ??
请帮我
list - 将成员谓词实现为单行
面试题!
这是您通常member
在 Prolog 中定义关系的方式:
仅使用一个规则来定义它。
list - 如何确定两个列表在序言中是否具有相同的元素?
如何确定两个列表在序言中是否具有相同的元素?如果我有两个列表 A 和 B,我想知道它们是否具有相同的元素。