私は、フォームの組み合わせ(3、[a、b、c、d]、L)の引数をとる関数をプロローグで定義しようとしています。Prolog - 与えられたリストにk個の数字の組み合わせを書く
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]
助けてください。
あなたはどのPrologを使用していますか? –
SWI - プロローグエディタ – Basmah