我在将列表列表放入单个列表时遇到问题

2024-01-17

我正在编写一个解决方案,使用递归计算列表中数字之间的距离,但一直在努力获得预期的输出。 我试图将列表列表放入单个列表中,但尝试使用 flatten 和append/2 不起作用。我已经尝试了几个小时,并且一直在兜圈子,有人可以告诉我我做错了什么吗?

:- use_module(library(clpfd)).

difference([],_,[]).
differwnce([L|Ls],X,[DST|Ds]) :-
   DST #= abs(X - L),
   difference(Ls,X,Ds).

differences[],[]).
differences([L|Ls], [DST|Tail]) :-
   difference(Ls,X,DST),
   differences(Ls, Tail).

这是预期的输入和输出:-

?- differences([1,2,4,9],Ds).
Ds = [1,3,8,2,7,5].

电流输出:

Ds = [[1,3,8],[2,7],[5],[]].

seq([]) --> [].
seq([E|Es]) --> [E], seq(Es).

seqq([]) --> [].
seqq([Es|Ess]) -->
  seq(Es),
  seqq(Ess).

?- phrase(seqq([[1,3,8],[2,7],[5],[]]), Es).
   Es = [1,3,8,2,7,5].
?- dif(A,B), phrase(seqq([[A|_]|_]), [B|_]).
   false.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在将列表列表放入单个列表时遇到问题 的相关文章

  • Prolog:覆盖谓词和使用它之间的区别

    我觉得自己真的很愚蠢 感觉自己错过了一些东西 我基本上有两个文件 module pl通用逻辑规则 可重用 state pl一个针对当前场景 在模块文件中 module pl 我已经声明 inside Food Eater T isTime
  • Prolog 中的失败谓词有什么用?

    我想不出我需要它的情况 优雅的系统提供false 0作为命令式的声明式同义词fail 0 它有用的一个例子是当您想要手动强制回溯副作用时 例如 between 1 3 N format line w n N false line 1 lin
  • Prolog 中的掩码

    我最近一直在尝试理解 Prolog 并且一直在搞乱 Prolog 中的列表列表 我正在尝试创建一种我想在 p 中的面具 序言 我有一个谓词 它确定 Prolog 中两个列表列表 比如说 L1 和 L2 之间的差异 并将它们保存为列表列表 比
  • 函数式语言中的多线程? (序言)

    当我的朋友在学校开始学习 Prolog 时 我嘲笑他学习了一门无用的语言 然而 他向我展示了一些我从来不知道可能发生的东西 我想知道这个技术从何而来 技术是这样的 permutation List isAMember X List dele
  • Prolog 程序从列表中删除每个第 n 个元素

    您能帮我解决以下问题吗 编写三元谓词delete nth从列表中删除每个第 n 个元素 样本运行 delete nth a b c d e f 2 L L a c e false delete nth a b c d e f 1 L L f
  • AllegroGraph 检查现有三元组

    我正在使用 AllegroGraph 4 我有一个三元组存储 并且只有在新的三元组尚不存在时我才会尝试添加它们 这是我的 Prolog 查询 select news alfas news a news tst has annotation
  • Prolog 变量查询中的“\+”问题

    我正在读 七周七种语言 atm 我对一些 Prolog 查询感到困惑 我不明白对 否 的回答 The friends pl文件看起来像这样 likes wallace cheese likes grommit cheese likes we
  • YAP Prolog 中的正向链接?

    我需要在某些 Prolog 问题中使用前向链接器 我想避免使用普通元解释器从头开始实现它 但如果没有其他选项可用 这就是我必须要做的 因为使用元解释器执行此操作会很慢 而且我我确信应该有一些好的实现 有人知道 YAP 或 SWI Prolo
  • 执行树元解释

    我有根据我之前的问题制作的跟踪元解释器here https stackoverflow com questions 27235148 implementing cut in tracing meta interpreter prolog 我
  • 如何实现 not_all_equal/1 谓词

    如何实施not all equal 1谓词 如果给定列表包含至少 2 个不同的元素 则该谓词成功 否则失败 这是我的尝试 不是很纯粹的尝试 not all equal L member H1 L member H2 L H1 H2 gt t
  • Prolog - 从列表中删除具有相同第一个值的对

    我有这样的对象列表 list obj x y obj x z obj a b obj b c 我想删除那些共享相同第一个值的元素 这样我就可以使用修改后的列表 在这种情况下 最终列表将如下所示 list obj a b obj b c 有人
  • 如何从序言中的列表中删除列表?

    我想在序言中实现以下问题 Given L1 1 2 3 4 and L2 2 3 4 调用名为remove list L1 L2 L 的函数将从L1中删除L2 所以L将是 1 但是 如果第二个列表的元素与 L1 中的元素顺序不同 或者更准确
  • Prolog 中的匹配元组

    为什么Prolog匹配 X Xs 包含更多元素的元组 一个例子 test2 X Xs write X nl test2 Xs test2 X write X nl test
  • 井字游戏的极小极大

    我正在尝试用简单的极小极大算法来解决井字游戏 简单 但应该涵盖很多语言 到目前为止我所拥有的 该板表示为 9 个 未绑定 变量的数组 这些变量可以设置为x or o 获胜条件基本上是 win Player X1 X2 X3 X1 Playe
  • 在 Prolog、尾递归中计算斐波那契数列

    我想在 Prolog 中以递归尾部模式计算斐波那契数列 fibonacci 0 0 fibonacci 1 1 fibonacci N Result fibonacci N 1 0 fibonacci N Result Count Coun
  • 问题 - 序言中的形式语言

    我正在尝试构建一个 DCG 它可以识别与此形式匹配的所有列表 a n b 2m c 2m d n 我写下了以下规则 s gt s gt ad ad gt a ad d ad gt bc bc gt b b bc c c bc gt a gt
  • 以系统的方式报告 Prolog 中查询失败的“原因”

    我正在 Prolog 中寻找一种方法 模式或内置功能 我可以用它来返回why一组谓词失败 至少就数据库中的谓词而言 当用户在系统中提出查询时 我试图能够说的不仅仅是 那是错误的 例如 假设我有两个谓词 blue 1如果某物是蓝色的 则为真
  • 如何为有效号码指定 DCG?

    我正在尝试为有效数字指定 DCG 如下所示 value Number gt valid number Number 基本上检查指定的值是否是数字 它也可能是变量 因此有必要检查 我不知道如何构建这个valid number不过 DCG 谓词
  • F# 和模糊逻辑

    我知道这可能听起来很奇怪 但我想知道 Microsoft Visual F 正在进入的这个新世界中的一件事 这种语言有很多应用 我要学习 关于解析 函数式编程 结构化编程 但是人工智能呢 模糊逻辑有什么应用吗 F 是一种适合模糊逻辑应用程序
  • 我应该在 Prolog 和一般情况下避免尾递归吗?

    我正在阅读 立即学习 Prolog 在线书籍 以获取乐趣 我正在尝试编写一个谓词 该谓词遍历列表的每个成员并向其添加一个 使用累加器 我已经在没有尾递归的情况下轻松完成了 addone addone X Xs Y Ys Y is X 1 a

随机推荐

  • 非阻塞 multiprocessing.connection.Listener?

    我使用 multiprocessing connection Listener 进行进程之间的通信 它对我来说很有魅力 现在我真的很喜欢我的主循环在客户端命令之间做其他事情 不幸的是 listener accept 会阻止执行 直到建立来自
  • 你会如何设计一个可破解的网址

    想象一下 您有一组以良好的树形层次结构组织的产品类别 并且您希望提供可修改的 URL 来浏览这些产品类别 你可以做这样的事情 catalog categorya categoryb categoryc 然后 您可以很容易地找出应该列出产品的
  • 如何删除具有指针成员的类的指针?

    我的意思是 如果我有这样的课程 class A int pi A pa 当我打电话时delete pa will pi被删除 您需要定义一个析构函数来delete pi 此外 您还需要定义复制构造函数和赋值运算符 否则当实例A被复制的两个对
  • 将 Google Play 游戏与 Firebase 混合使用

    我使用 google games api 将排行榜添加到我的 android 游戏中 现在我想使用 Android Studio 的 Firebase 向导 添加横幅广告 它构建得很好 但是当我尝试创建 apk 时 出现以下错误 错误 将字
  • Linux,需要准确的程序计时。调度程序唤醒程序

    我有一个在 Linux 系统上运行的线程 我需要以尽可能准确的时间间隔执行它 例如 每毫秒执行一次 目前 这是通过创建一个计时器来完成的 timerfd create CLOCK MONOTONIC 0 然后在结构中传递所需的睡眠时间 ti
  • 使用 R 中的 glmulti 包对 akaike 权重进行穷举搜索多元回归

    我想知道是否有人可以帮助我理解为什么当我在 R 中输入脚本时收到错误消息 对于一些背景信息 我正在研究6 个不同变量的效果 我认为是 63 种组合或模型 X 对于我的环境科学荣誉项目 在不同空间尺度上分别具有初级总产量和生态系统净产量 Y
  • 参考应用程序xml资源中的android库项目xml资源

    我有一个定义 XML 资源的 Android 库项目 让我们使用可绘制选择器作为示例 但我在字符串 样式等方面遇到问题 LibProject res drawable button selector xml 定义一个选择器 LibProje
  • Mongo 查找器和标准

    我在 Rails 应用程序中使用 MongoDB 和 Mongoid 映射器 但我不明白finders and criteria的查询 例如在 mongodb 文档中的部分Finders是查询Model all 但如果我使用它 例如User
  • 如何使用 Cypress 检查可能不存在的元素

    我正在编写 Cypress 测试来登录网站 有username and password字段和一个Submit按钮 大多数登录都很简单 但有时首先会出现一个警告对话框 必须将其关闭 我试过这个 cy get login username t
  • 浮点数在CPU内部是如何存储的?

    我是一名初学者 正在学习组装基础知识 现在 我在读这件事的时候 来到了这一段 它解释了浮点数如何存储在内存中 浮点数的指数是一个 8 位字段 允许大量或 要存储的小数 指数被解释为正数或 消极的 实际指数是 8 位字段的值减去 127 12
  • 在 python 中滚动 idxmax() ?

    我有一个 python DataFrame 其中包含一些财务数据 我正在尝试为其创建一些技术指标 我试图弄清楚如何使用移动窗口函数来加速该过程 而不是逐个元素地进行 对于每个索引 我想返回过去 30 天的最大索引 我已经实现了一个逐个元素的
  • 将列类型更改为tinyInteger

    尝试在 Laravel 5 2 迁移中将数据列类型更改为tinyInteger
  • Visual Studio 探查器输出

    我写了一个执行的小类Main 依次执行A 我预计Main 方法本身位于堆栈调用的根部 因为它是我的应用程序中最顶层的函数 所做的一切都应该执行by Main 我编写了以下代码来测试 namespace ProfilerTest class
  • 需要裁剪+调整大小约 300000 个文件。运行时间 = 4 天以上。如何加快 bash 脚本的速度?

    我正在努力创建视频间隔拍摄 我拍摄的所有照片都是以 4 3 宽高比拍摄的 jpg 图像 2592x1944 分辨率 我希望它们在 1920x1080 下均为 16 9 我写了一个小脚本来执行此操作 但过程不是很快 我花了大约 17 分钟来裁
  • 在 Xcode 4 GM 中,如何打开 LLDB?我看到的都是GDB

    在方案运行调试器弹出窗口中 它显示的只是 None 和 GDB 这是针对使用 LLVM 构建的 iPad 4 2 模拟器 你不能 用苹果员工的话说 LLDB 尚不可用于 iOS 开发 https devforums apple com me
  • 共享 php 会话

    我最近遇到了一个问题 我一直在尝试解决它 但没有运气 我试图使用 GlusterFS 在所有服务器上的多个服务器 php apache 级别上共享 php 会话 但是 尽管该会话在所有服务器上都可以访问 但一旦我访问不同的服务器 会话就不会
  • Rails 中的 session 是方法还是哈希?有点困惑

    有一个非常简单的问题 我正在做 Michael Hartl 的 Railstutorial 它讨论了使用会话方法 借助 Rails 定义的 session 方法 用户登录很简单 我们可以将 session 视为一个散列 并按如下方式分配给它
  • git log --follow,gitpython 方式

    我正在尝试访问单个文件的提交历史记录 如下所示 git log follow
  • 如何将浮点数转换为分数?

    这是一个家庭作业问题 我想编写一个函数将浮点数转换为一对整数 分子和分母 例如 float 0 5 应转换为 1 2 我正在尝试 见下文 但坦率地说 它对我来说看起来不太好 f is the input float int n 1 whil
  • 我在将列表列表放入单个列表时遇到问题

    我正在编写一个解决方案 使用递归计算列表中数字之间的距离 但一直在努力获得预期的输出 我试图将列表列表放入单个列表中 但尝试使用 flatten 和append 2 不起作用 我已经尝试了几个小时 并且一直在兜圈子 有人可以告诉我我做错了什