cost 314 ms
Prolog函数计数和成员使用自然数及其后继 - Prolog function count and member by using natural numbers and it succesor

我需要在 Prolog 中编写一个函数来计算列表中元素的数量,另一个验证元素是否在列表中,但使用自然数“零”和他的后继(s(零))。 例如,我设法通过使用前面的限制对类似物“take”和“drop”进行编程: 但是我无法使用自然数在 Prolog 中对类似物“count”和“member”进行 ...

Prolog 2次递归的幂 - Prolog power of 2 recursion

需要帮助创建递归子句是一个规则:仅当存在 Y 时 X 是 2 的幂,这样当将 Y 添加到 Y 时结果是 X,并且 Y 是 2 的幂。在 prolog 我们将递归地定义这个谓词。 下面是判断一个数是否为2的幂的事实和规则: • 基本子句是一个事实:1 是2 的幂(因为1=20); • 递归子句是一 ...

如何在所有参数模式的后继算术中实现阶乘序列? - How to implement the factorial sequence in successor arithmetics for all argument modes?

以下 Prolog 程序定义了一个谓词fact/2用于计算后继算法中整数的阶乘: 它适用于以下参数模式下的查询: 它也适用于这种参数模式下的查询: 它也适用于这种参数模式下的查询: 但它在这种参数模式下通过查询耗尽资源: 如何在所有参数模式的后继算术中实现阶乘序列? ...

第一个和第二个 arguments 是否应该在定义加法的规则中交换? - Should the first and second arguments be swapped in a rule defining addition?

Prolog 中有两种可能的添加规则,根据 cTI 具有不同的终止属性: cTI 报告sum(A,B,C)terminates_if b(A);b(C). 对于以下规则: cTI 报告sum(A,B,C)terminates_if b(A),b(B);b(C). 对于以下规则(交换X和Y ) ...

prolog 一元数 - 评估表达式 - prolog unary numbers - evaluating expression

我试图了解 Prolog 并且我遇到了以下情况。 我以下列方式定义了自然数(一元): 这意味着 0 是 0,s(0) 是 1,s(s(0)) 是 2 等等...... 然后我定义谓词添加: 它将两个一元数和结果存储添加到 Z。 现在我有以下谓词“测试”证明了我的问题: 然后在解释中输入: 然后我尝试 ...

Prolog中的递归succ加法 - Recursive succ addition in Prolog

我不明白这个是如何工作的。 如果我运行查询: 它如何从第一个参数中删除 succ ? 如果我运行它: 这让身体很满意。 我们将它们输入到头部: 即它在我看来好像只是添加了 succ,而不是从第一个参数中删除它们? 我看到有关于这个确切问题的另一篇文章,但对我来说没有意义。 ...

为什么我的谓词 div/4 在给我一个答案后进入无限循环? - Why my predicate div/4 enters an infinite loop after giving me one answer?

我正在尝试使用 Peano Axioms 实现欧几里得除法(a = bq + r),到目前为止我已经完成了这个谓词: 每个谓词似乎都可以完美运行,我遇到的一个问题是: 给我正确的答案,而不是说没有更多的答案进入无限循环。 我不明白为什么 div/4 不停止,知道为什么吗? 提前致谢 ...

列表大小乘法 - Lists size multiplication

我是 Prolog 的新手,我正在尝试了解列表。 我正在努力解决的问题是:给定列表形式的数字 (1 : [x], 3: [x, x, x]),实现'times'谓词 /3。 例如:times([x, x], [x, x, x], R)。 R = [x, x, x, x, x, x]。 加号和后继 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM