フォームの引数を取るプロローグで関数を定義しようとしています triple(3,[a,b,c,d],L) 、結果は戻ります
L=a,b,c
L=a,b,d
L=a,c,d
L=b,c,d
私の実装は次のとおりです。
combination(K,argList,L):-
unknown(X,argList,Y),
Z is select(X,argList),
length(Z,K),
L is Z,
combination(K,Z,L).
unknown(X,[X|L],L).
unknown(X,[_|L],R) :- unknown(X,L,R).
不明な述語は次のように動作します: ![ここに画像の説明を入力][1]
助けてください。