Prolog - 将数字合并为数字

2023-12-09

我想将数字列表合并为数字。

[1,2,3] -> 123

我的谓词:

merge([X], X).
merge([H|T], X) :- 
   merge(T, X1),
   X is X1 + H * 10.

但现在我得到: [1,2,3] -> 33


另一种方法是将到目前为止已处理的内容乘以十,但您需要一个累加器值。

merge(Digits, Result) :- merge(Digits, 0, Result).

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

Prolog - 将数字合并为数字 的相关文章

  • 如何在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
  • 在序言中减去或添加列表的列表?

    我对序言相当陌生 正在尝试摆弄列表列表 我很好奇如何添加两个列表列表或减去它们从而得到一个列表列表 如果我有两个列表 可以说 SomeList 1 2 3 4 5 6 7 8 SomeList2 1 2 3 4 5 6 7 8 我该如何添加
  • Prolog 匹配 vs miniKanren 统一

    在 Prolog 人工智能编程中 Bratko 在第 58 页说了以下内容 Prolog 中的匹配对应于逻辑中所谓的统一 但是 我们避免使用 统一 这个词 因为出于效率原因 在大多数 Prolog 系统中 匹配的实现方式并不完全对应于统一
  • 控制 Prolog 变量值选择

    灵感来自之前的一个问题 https stackoverflow com questions 41595786 using operator to save variables in a list我尝试实现一些可以枚举布尔表达式可能性的东西
  • Prolog 罗马数字(属性语法)

    我正在做一项作业prolog questions tagged prolog扫描数字列表并应返回该列表是否是有效的罗马数字以及数字的十进制值 前任 1 roman N I N 1 true 2 当我运行我认为应该工作的程序时 十进制值总是正
  • 问题 - 序言中的形式语言

    我正在尝试构建一个 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
  • 如何为有效号码指定 DCG?

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

    我知道这可能听起来很奇怪 但我想知道 Microsoft Visual F 正在进入的这个新世界中的一件事 这种语言有很多应用 我要学习 关于解析 函数式编程 结构化编程 但是人工智能呢 模糊逻辑有什么应用吗 F 是一种适合模糊逻辑应用程序
  • 如何找到排列的索引

    index List Idx Predicate will get List with permutation and I want to know index of permutation For example index 4 1 3
  • Prolog内存问题

    我想找到一种方法来分析我在序言中编写的谓词 一个巨大的谓词 的内存使用情况 我目前正在运行它swi http www swi prolog org and yap http www dcc fc up pt vsc Yap document
  • Prolog:子句在源文件中不在一起

    我有这段代码 Family tree female pen male tom male bob female liz female pat female ann male jim parent pam bob parent tom bob
  • 我应该在 Prolog 和一般情况下避免尾递归吗?

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

    我有一组事实 likes john mary likes mary robert likes robert kate likes alan george likes alan mary likes george mary likes har
  • SWI-Prolog 中的跨模块“接口”调用

    这可能是 SWI Prolog 模块系统特有的 假设我们有三个 Prolog 模块 在 SWI Prolog 模块系统中 robin 在文件中robin pl arthur 在文件中arthur pl helper 在文件中helper p
  • 高阶“解决方案”谓词

    我正在使用一个更高阶的 Prolog 变体 它缺少findall 还有一个关于实现我们自己的问题findall here 获取 Prolog 中的解决方案列表 https stackoverflow com questions 419103
  • 将“mod”运算符与“or”一起使用时是否强制具体化?

    我使用 CLP FD 和 SWI Prolog 编写了一个 CSP 程序 我认为当我使用时我需要改进我的约束写作mod操作员 和 一起 在我的谓词中 一个简短的例子 use module library clpfd constr X Y Z
  • json 获取 prolog 谓词

    我试图在序言中创建这个谓词 谓词json get 3可以定义为 json get JSON obj Fields Result 这是正确的 当Result可以通过以下方式恢复 中的字段链Fields 列表 从JSON obj 一个字段 代表
  • prolog跟踪如何使用

    跟踪prolog程序时如何进行第二步 例如 我想跟踪以下简单程序 length1 0 length1 X Xs N length1 Xs N1 N is N1 1 我跟踪程序 trace length 1 2 3 N Call 7 leng
  • 下面代码中的修剪选择点如何使其更加高效(Prolog)?

    在下面给出的代码中 有 cut 修剪选择点以提高效率 我非常确定reverse谓词和agent do moves谓词是必不可少的 solve task Task Cost agent current position oscar P sol
  • 冒号 (:) 在 Swi-Prolog 中到底代表什么?

    我无法明确找到 代表什么prolog http www swi prolog org pldoc doc for object op 3 在交互模式下您可以看到以下证据 display a b a b true display a b c

随机推荐

  • 使用 javascript 数组填充 html 表

    我想用一个 HTML 表格来填充JavaScript array 但是 它不起作用 我不知道为什么 我的 innerHTML 没有被解释 我的变量包含良好的值 但是当我这样做时 document getElementById title i
  • Bootstrap 3 中的字形图标未在 Firefox 上呈现

    我将 Bootstrap 3 用于 Web 应用程序 我的计算机 Chrome IE 和 Firefox 一切正常 但我的一位客户看不到字形图标 I first thought the problem was my css but the
  • 转换时区 pandas 数据框

    我有数据 Symbol bid ask Timestamp 2014 01 01 21 55 34 378000 EUR USD 1 37622 1 37693 2014 01 01 21 55 40 410000 EUR USD 1 37
  • GET 的表达参数长度限制

    我有一个 Nodejs 应用程序 我在其中使用 Express 来实现 REST API 其中一个 API 接受 SQL 查询 在数据库上运行它并返回 JSON 响应 一切都工作正常 直到我使用长 SQL 查询测试 api 在调试时 我注意
  • 如何在 GWT 中公开类功能

    我有一个用 Java 编写的类库 想将其转换为 Javascript 所有方法都非常简单 并且主要与操作集合有关 我有一个类 GameControl 我可以实例化它 并且我希望将其方法暴露给页面上的其他 Javascript 代码 我想到使
  • SERVER_ERROR:[代码] 1675030 [消息]:执行查询时出错

    我在 Android 中使用 Facebook 登录 Code callbackManager CallbackManager Factory create LoginButton loginButton LoginButton this
  • Windows IoT - Zebra 蓝牙打印机

    我有两台 Zebra 蓝牙打印机 MZ220 和 iMZ220 我 唯一 要做的事情就是在 Raspberry Pi 2 上使用 Windows IoT 系统打印文本 仅此而已 例子 1号线 Hello World Line2 Line3
  • NetBeans:JasperReport 异常

    我正在开发一个需要Jasper报告的项目 我使用下面提到的代码片段在NetBeans 6 1中查看报告 该报告最初是使用iReport 3 6 0生成和编译的 我的要求是使用打印此报告一个简单的 Swing 应用程序 代码片段 public
  • 在 android 中,在 recyclerView 中准确显示按钮所在位置的弹出窗口

    I m working on a gridLayout with recyclerView in android I ve a an option with each grid Item where I want to show my po
  • iOS 在另一个项目中使用现有项目的类/资源文件

    我在 App Store 中有一个 iPhone 应用程序的现有 xCode 项目 该项目包含许多视图控制器 视图 XIB 文件 图像 等 我希望创建另一个项目 其行为方式完全相同 包含相同的控制器 视图 图像 等 除了我希望更改一些小东西
  • 如果 JSF 不支持,为什么我能够将 绑定到任意方法?

    我正在使用 Glassfish 3 1 2 2 和 JSF Mojarra 2 1 6 我有以下 Facelets 页面
  • 为什么消息打印两次?

    我正在为 C 创建一个简单的 Tic Tac Toe 这是一个我遇到问题的特定函数 这应该让用户选择 X 或 O 并且对于大多数艺术来说它都有效 但是 如果我输入错误的符号 它会打印以下语句 无效符号 请重新输入 两次 Why and ho
  • 如何从网页上使用关联程序打开本地文件?

    我知道我的应用程序的用户有一个名为 c sourcefile cs 的本地文件 我需要找到一种方法来呈现该文件的链接 以便当他单击该链接时 它将在 Visual Studio 中打开该文件 这是供我们开发团队内部使用的 因此如果没有标准方法
  • 复制省略可见副作用

    考虑这段代码 include
  • 将图像存储到 sqlite 数据库中

    下面是我在 sqlite 数据库中存储图像的代码 当我用它来存储值时它可以工作 现在我尝试将图像存储在 sqlite 数据库中 我不知道我做错了什么 我已经搜索过 但无法得到我需要的答案 任何人都可以帮我解决他的代码 sqlite3 dat
  • UITableView 静态单元格作为子视图?

    使用 iOS 5 中的 Storyboard 我将 uitableview 添加到具有静态单元格的现有视图控制器中 但是当我运行该应用程序时 表格视图不会显示 视图上的其他所有内容都加载良好 如何在常规视图控制器上将带有静态单元格的 uit
  • 如何根据每个项目中显示的数据更改列表项目的背景颜色?

    我在 SQLite 中有一个订单列表 其状态各不相同 已分配 已加载 已交付 我希望每个订单在列表中显示时都有不同的颜色背景 到目前为止 我还没有找到一个好的方法来做到这一点 我发现了很多关于如何根据位置更改列表项的背景颜色的讨论 但没有一
  • 为什么 np.hypot 和 np.subtract.outer 与普通广播相比非常快,并且有更快的方法来计算距离矩阵吗?

    我有两大组二维点 需要计算距离矩阵 我需要它很快 所以我使用了 NumPy 广播 在计算距离矩阵的两种方法中 我不明白为什么一种方法比另一种方法更好 From here我得到了矛盾的结果 单元格 3 4 6 和 8 9 都计算距离矩阵 但
  • Java:在 Scanner.nextLine() 上使用默认值填充 Scanner;

    我正在编写一个运行循环并不断询问用户输入的java程序 然后程序用该字符串执行一系列操作 并请求另一个字符串并重复 问题是许多字符串非常相似 所以我想用循环中上次的输入填充提示 例如 如果用户输入如下值 Enter the SKU Numb
  • Prolog - 将数字合并为数字

    我想将数字列表合并为数字 1 2 3 gt 123 我的谓词 merge X X merge H T X merge T X1 X is X1 H 10 但现在我得到 1 2 3 gt 33 另一种方法是将到目前为止已处理的内容乘以十 但您