Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
转换句子会产生无限循环 - 但如何转换呢?
我不明白这是哪里出了问题 请注意 我对 Prolog 很陌生 我确信我错过了一些东西 只是不知道那可能是什么 有人可以帮我吗 谢谢 这是我的代码 printSentence printSentence W write W write nl
Prolog
textmanipulation
failureslice
nontermination
使用 Prolog 将单个列表按顺序分成三个
我正在尝试创建一个函数 将可变长度的列表按顺序拆分为三个偶数长度的列表 下面将其分为三个 但进程一次将它们插入到每个列表中 我想要的一个例子是 1 2 3 4 5 gt 1 2 3 4 5 另一个例子是 8 7 6 5 4 3 2 1 gt
Prolog
failureslice
递归谓词中的回溯
假设我们有以下谓词 这是来自Prolog 编程 http www springer com computer swe book 978 3 540 00678 7 F0 isInteger 0 F1 isInteger X isIntege
Prolog
failureslice
Prolog递归过程解释
如果可能的话 我希望有人解释这个过程 来自 立即学习序言 一书 它需要两个数字并将它们加在一起 add 0 Y Y add s X Y s Z add X Y Z 原则上我明白 但我有一些问题 假设我发出查询 add s s 0 s 0 R
Prolog
failureslice
successorarithmetics
一棵无限的成功树,或者不是?
我得到了以下程序 edge a b edge b c edge a d path N M path N New edge New M path N M edge N M 并询问是否将证明树算法应用于以下查询 path a X 证明树是无限成
Prolog
failureslice
transitiveclosure
DCG和左递归
我正在尝试实现一个 dcg 它采用一组 a b c d 形式的字符串 我遇到的问题是 如果我有一个 s a c b 它返回 true 这是正确的答案 但是当我有 s a c f 形式的查询时 它不会返回答案 并且会耗尽本地堆栈 s gt s
Prolog
dcg
leftrecursion
failureslice
更好地理解序言
我试图理解 Prolog 以及它如何使用解析算法 我发现了这个例子 hates 1 2 hates 2 3 hates 3 4 jealous A B jealous A C jealous C B jealous A B hates A
Prolog
transitiveclosure
failureslice
解析 Prolog 中的表达式并返回抽象语法
我必须编写 parse Tkns T 它接受标记列表形式的数学表达式并找到 T 并返回表示抽象语法的语句 尊重操作顺序和关联性 例如 parse num 3 plus num 2 star num 1 T T add integer 3 m
Parsing
Prolog
dcg
failureslice
如何在所有参数模式的后继算术中实现阶乘序列?
以下 Prolog 程序定义了一个谓词fact 2用于计算后续算术中整数的阶乘 fact 0 s 0 fact s X Y fact X Z prod s X Z Y prod 0 0 prod s U V W sum V X W prod
Prolog
factorial
termination
failureslice
successorarithmetics
为什么我的序言规则陷入无限递归
我的代码可以达到其预期目的 但最后总是陷入循环 给出错误消息 超出堆栈限制 我的代码如下 byCar auckland hamilton byCar hamilton raglan byCar valmont saarbruecken by
recursion
Prolog
transitiveclosure
failureslice
可逆树长关系
我正在尝试用 纯 Prolog 编写可逆关系 没有is 剪切或类似的东西 是的 这是作业 我必须承认我不知道如何做 我没有看到任何创建这样的东西的过程 我们被赋予了 不纯粹 但可逆的算术关系 加 乘 等于 减 我们必须使用它们来创建这些关系
Prolog
clpfd
failureslice
successorarithmetics