gpt4 book ai didi

prolog - 如何从序言中的两个列表创建原子对列表?

转载 作者:行者123 更新时间:2023-12-02 07:09:09 25 4
gpt4 key购买 nike

我是 prolog 的新手。让我在下面告诉你我想要什么作为评论..

% ?-pair([1,2],[a,b],Result).
% Result= [{1,a},{1,b},{2,a},{2,b}].

我所做的是..

pair([],Q,[]).
pair(P,[],[]).
pair([A|P],[B|Q],[{A,B}|R]) :- pair([A|P],Q,R).
pair([A|P],[B|Q],[{A,B}|R]) :- pair(P,[B|Q],R).

使用这段代码我得到了这样的结果:

?- pair([1,2],[a,b],R).
R = [{1, a}, {1, b}] ;
R = [{1, a}, {1, b}, {2, b}] ;
R = [{1, a}, {1, b}, {2, b}] ;
R = [{1, a}, {2, a}, {2, b}] ;
R = [{1, a}, {2, a}, {2, b}] ;
R = [{1, a}, {2, a}] ;
false.

我希望所有内容都在一行中,不要重复..

最佳答案

你应该向 Prolog 解释你想要什么(什么是对,如何构建它),然后让 Prolog 找到所有的对。

关于prolog - 如何从序言中的两个列表创建原子对列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7734537/

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