如何声明两个列表具有相同的长度?

2024-03-30

我需要知道如何比较 Prolog 中两个列表的长度。这是我到目前为止所拥有的:

sum(N1,N2) :-
    checklength(N1,N2).

checklength(N1,N2) :-
    L1 is length(N1,What),
    L2 is length(N2,What),
    Comp(L1,L2).

Comp(L1,L2) :-
    L1=:=L2.

当然,CapelliC 的答案是完美的,但您也可以尝试解决此问题的“标准”方法:

same_length([],[]).
same_length([_|L1],[_|L2]) :- same_length(L1, L2).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何声明两个列表具有相同的长度? 的相关文章

  • prolog中输入/输出参数的区别

    Prolog谓词定义中的输入和输出参数有什么区别吗 这与其他语言 例如Scheme 和C 相比如何 我希望我理解你的问题 您应该研究一下 Prolog 中如何实现统一 因为它会让事情变得更清晰 反正 简而言之 没有内置方法可以将 Prolo
  • Prolog 时间重叠问题

    假设我有这个知识库 free ann slot time 8 0 time 9 0 free ann slot time 10 0 time 11 0 free bob slot time 7 0 time 8 30 free bob sl
  • Prolog - 递归列表构建

    对于我正在编写的程序 我需要创建一个列表列表 其中包含代表乘积的数字对和两个给定数字的总和 现在我有一个函数 我可以指定将列表添加到列表中的次数 稍后将使用完整功能进行扩展 这是我所拥有的 s1 0 X s1 Q X N is Q 1 mu
  • 展平列表

    尝试解决练习 07http www ic unicamp br meidanis courses mc336 2009s2 prolog problemas http www ic unicamp br meidanis courses m
  • 如何在 SWI-Prolog 中创建事实?

    我只想创建类似的东西 like x y 我已经尝试了很长时间了 真的很沮丧 谁能告诉我该怎么做 我假设您正在交互地使用 swi 并尝试输入事实会给您一个如下错误 1 like x y ERROR toplevel Undefined pro
  • Prolog,如何在 write() 中显示多个输出

    go match Mn Fn write Matching Result nl write Mn write match with write Fn match Mn1 Fn1 person may female 25 blue perso
  • 二叉树的 Herbrand 宇宙、Herbrand 基础和 Herbrand 模型(序言)

    什么是二叉树的 Herbrand 宇宙 Herbrand Base 和 Herbrand Model binary tree empty binary tree tree Left Element Right binary tree Lef
  • 针对数字板难题的优化 CLP(FD) 求解器

    考虑问题从https puzzling stackexchange com questions 20238 explore the square with 100 hops https puzzling stackexchange com
  • 依赖规则顺序

    为了计算两个相同长度列表之间的汉明距离 我使用foldl hamm A B 0 R 有了这个定义hamm 4 hamm A A V V hamm A B V0 V1 A B V1 is V0 1 第一条规则的删减可以防止不必要的回溯 然而
  • 如何从序言中的列表中删除列表?

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

    Write a predicate cmp list 3 the first 2 arguments are 2 lists and the last one is Comparison which means ge lt le or gt
  • 为什么在具体化中将 clpfd 变量分配给实际值?

    我正在开发一个 SWI Prolog 程序 该程序使用 CLP FD 约束来找到特定问题的解决方案 为此 我碰巧需要两个列表的 未定位 重叠 那是 List La长度为A List Lb长度为 B A gt B 未定位的重叠列表是La Lb
  • 非成员规则在 Prolog 中无法按预期工作

    我正在尝试在 Prolog 中创建一个迷宫程序 其目的是找到一条从迷宫起点到迷宫中心点 m 的路线 迷宫由使用四种颜色之一连接的正方形组成 蓝色 绿色 紫色或橙色 从起点到中心的路线遵循四种颜色的重复图案 我创建了以下代码 link2 A
  • Prolog 实现 and/2、or/2、nand/2、nor/2、xor/2 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在序言中实现以下谓词并将它们用于真值表 and 2 or 2 nand 2 nor 2 xor 2 也许有人可以告诉我如何实现和
  • 转换句子会产生无限循环 - 但如何转换呢?

    我不明白这是哪里出了问题 请注意 我对 Prolog 很陌生 我确信我错过了一些东西 只是不知道那可能是什么 有人可以帮我吗 谢谢 这是我的代码 printSentence printSentence W write W write nl
  • 适合从记录中提取 OneToMany 关系的约束编程

    也许有人可以帮助我解决 Prolog 或任何约束编程语言的问题 想象一个项目表 学生与母亲一起做某事的学校项目 每个项目都有一名或多名儿童参与 对于每个孩子 我们存储其姓名及其母亲的姓名 但对于每个项目 只有一个包含所有母亲的单元和一个包含
  • 如何为有效号码指定 DCG?

    我正在尝试为有效数字指定 DCG 如下所示 value Number gt valid number Number 基本上检查指定的值是否是数字 它也可能是变量 因此有必要检查 我不知道如何构建这个valid number不过 DCG 谓词
  • Same_length/2 更好的纯版本

    鉴于频繁的纯定义same length 2 as same length same length As Bs same length As Bs same length L L loops 是否有一个纯粹的定义不会在这种情况下循环 类似于纯
  • 谓词对于列表中的所有元素都必须为 true

    我有一组事实 likes john mary likes mary robert likes robert kate likes alan george likes alan mary likes george mary likes har
  • 通过递归扩展 Prolog 目标?

    我 最终 实现了一些目标 这些目标将根据开始由 开始之后 and duration 然而 计划目标仅接受规定数量的任务 我想扩展计划目标的功能以接受单个列表并在计划时迭代该列表 不幸的是 我认为这将需要与can run and 冲突目标如下

随机推荐

  • 如何使用 html 在新选项卡中打开 pdf 文件的链接

    我有一个 html 页面 其中包含打开 pdf 文件的链接 然而 当我点击这个链接时 它会在 adobe reader 中打开 我已将目标属性设置为空白 但它也不起作用 我想在同一窗口的新选项卡中打开此 pdf 文件 target blan
  • 如何在 MVC 中的单个 foreach 循环中创建水平表?

    在 ASP Net MVC 中 有什么方法可以将以下代码压缩为单个 foreach 循环吗 table class table tr td Name td td td tr tr td Item td tr table
  • Pandas 适用于多列输出的滚动

    我正在编写一个代码 它将滚动窗口应用于将返回多列的函数 输入 熊猫系列预期输出 3 列 DataFrame def fun1 series Some calculations producing numbers a b and c retu
  • Xcode 9.2 中缺少标头搜索路径、库路径和链接路径部分

    想在我的项目的设置面板中添加第三方库路径 但问题是没有标题搜索路径 库路径和链接路径部分 缺少标题搜索路径部分 I am using Xcode 9 2 and Swift 4 点击All and Combined按钮 您会看到标题搜索路径
  • 按长度对数组排序

    我有以下数组 http jsfiddle net 3NZsK http jsfiddle net 3NZsK 我需要按数组的长度对数组进行排序 如何找出数组中最大 第二大 第三大 最小哪一个 例如 我有以下虚拟函数 它可以获取第二大数组 h
  • Facebook 图表 API 与营销 API

    有人可以解释一下 facebook 的图表 API 和营销 API 之间的区别吗 还应该针对哪些请求使用哪一个 我一直在使用 facebook python SDK 来创建广告 但我时不时会遇到速率限制 但在我的营销 API 仪表板中我没有
  • 如何为 eclipse 和 android studio 提供单一的 android SDK 和 AVD

    我是 Eclipse 用户 并在其上轻松开发了 Android 应用程序 但最近 当我看到 android studio 出现并由 android 网站提供时 我想尝试一下 因为它看起来非常有前途 我已经在我的 D 盘中下载了 androi
  • 减少 CosmosDB 的预配置吞吐量

    我有一个 cosmos DB 它在数据库级别配置了 4 个容器和 400 个 RU 我添加了 2 个容器 并且在没有警告的情况下 配置的 RU 增加到了 600 个 下面的文档解释了为什么会发生这种情况 第 4 个以上的每个容器至少需要额外
  • 使用多维 std::initializer_list

    我有一个关于在 C 中使用多维 std intializer list 的问题 我有一个 Matrix 类 我希望能够像这样初始化它 Matrix
  • 通过构建所有 asset_path 值来避免 *.js.erb 文件

    因此 我想避免使用 ERB 处理 JavaScript 文件 这样我就可以获得正确的资源路径 例如图像 目前 这似乎是流行的方法 var myImage 当然 这需要将文件名更改为 erb 以便对其进行处理 我宁愿将 ERB 的丑陋隔离到项
  • rand() 在 C 语言中有多独特?

    我在用rand 对于需要唯一值的 6 位字段 我做对了吗 几率有多大 rand 可以在连续或频繁的通话中给我类似的值吗 当我使用 rand 时 它是独一无二的 但是 当我打电话时返回相同的号码srand time NULL or srand
  • Powershell脚本:无法读取执行程序的返回值

    我正在使用 PowerShell 运行一个执行的脚本wget获取网页 一个简单的数据库导入脚本 并分析其输出 错误消息或 确定 我正在使用答案中的代码上一个问题 https stackoverflow com questions 20345
  • 最新的浏览器中有内置的 javascript 字符串哈希函数吗?

    每当新版本的浏览器出现时 我都会听到添加新的东西 比如 webGL 和其他没有人真正知道它们是否能赶上的技术 但我想知道是否有人考虑过 JS 中的哈希函数 MD5 SHA1 等 等基本内容 我所说的最新浏览器也指当今的开发版本 例如 Ope
  • 如何使用 EF 6.0 中的代码优先方法从 sql 表中删除列?

    我错误地在数据库中添加了一列 名为doj现在 如果我想使用代码优先方法从表中删除该列 我应该做什么 我已经尝试过这些事情 1 从模型中删除列定义 2 删除了迁移历史记录 3 添加迁移4 更新数据库 但它仍然没有反映在数据库中 我哪里犯了错误
  • 在 Spark 中,广播是如何工作的?

    这是一个非常简单的问题 在 Spark 中 broadcast可用于有效地将变量发送给执行器 这是如何运作的 更确切地说 何时发送值 我一打电话就发送broadcast 或者何时使用这些值 数据到底发送到哪里 发送给所有执行者 还是只发送给
  • 将数字列表转换为范围

    我有一堆数字 请说以下内容 1 2 3 4 6 7 8 20 24 28 32 那里提供的信息可以用 Python 表示为范围 range 1 5 range 6 9 range 20 33 4 在我的输出中我会写1 4 6 8 20 32
  • Swing 应用程序 -> 拖放到桌面/文件夹

    当 Mac 的 Finder Windows 的 Explorer 将 Swing 应用程序中的特定项目拖放到桌面和文件夹时 如何获取我放弃的前路径 我很高兴教给我必要的课程和方法 这是一个小程序 但它适用于任何框架或窗口 public c
  • 根据内容拆分 .txt 文件

    我有一个巨大的 txt文件如下 small file content 1 br small file content 2 br small file content n br 我如何将其分割成n个文件 最好通过bash Use csplit
  • 将 models.py 拆分为多个文件

    我正在尝试拆分models py我的应用程序分成几个文件 我的第一个猜测是这样做 myproject settings py manage py urls py init py app1 views py init py models in
  • 如何声明两个列表具有相同的长度?

    我需要知道如何比较 Prolog 中两个列表的长度 这是我到目前为止所拥有的 sum N1 N2 checklength N1 N2 checklength N1 N2 L1 is length N1 What L2 is length N