gpt4 book ai didi

Prolog - 第一个列表是第二个列表的子列表?

转载 作者:行者123 更新时间:2023-12-03 15:18:19 25 4
gpt4 key购买 nike

例如:

isin([1,2,3], [1,0,1,2,3,0])

将产生真,因为 123位于 101230

我写了以下代码:
isin([AH|AT],[AH|AT]).

isin([AH|AT],[BH|BT]):- AH = BH, isin(AT,BT),isin([AH|AT],BT).

似乎不起作用。尽量不要使用任何内置函数,顺便说一句,Prolog 有一个内置的 sublist(L1,L2)功能。

如何使用 SWI-Prolog 针对内置函数编写查询?我试着直接写
?- sublist([1],[2]).

但它给了我 underfined procedure错误。

是否可以查看内置函数的编码方式?如何?

最佳答案

sublist( [], _ ).
sublist( [X|XS], [X|XSS] ) :- sublist( XS, XSS ).
sublist( [X|XS], [_|XSS] ) :- sublist( [X|XS], XSS ).

关于Prolog - 第一个列表是第二个列表的子列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7051400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com