gpt4 book ai didi

list - 如何在Prolog中检查一个列表的所有元素是否都是另一个列表的成员

转载 作者:行者123 更新时间:2023-12-05 00:58:15 25 4
gpt4 key购买 nike

我现在正在学习 Prolog,递归思维对我来说很难。

我有两个列表,例如L1=[1,2,3]L2=[3,1,2] 我应该检查 L1 的所有元素是否都包含在 L2

所以 allMembers(L1,L2). 应该返回 true 并且 allMembers(L1,[2,3,4]). 应该返回 false ,因为 4 中没有 L1
我认为有可能获得一个列表的头部并返回 true 如果它在另一个列表中找到该元素(通过将其拆分直到列表只包含一个项目),但我不知道如何在序言。

如果你能帮助我更快地吸收 (?)

我在这里发现了类似的问题,但找不到我的具体问题的答案:/

编辑:
我现在有:

isMemberOf(X,[X|_]).
isMemberOf(X,[_|T]):- member(X,T).

我需要将其用于 L1L2 中的任何元素

最佳答案

解决您的子问题:如果 member(A,B) 是列表 A 的成员,则 B 为真。

关于list - 如何在Prolog中检查一个列表的所有元素是否都是另一个列表的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554323/

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