プロローグでブール値のリストを生成する必要があります。
?- gener_booleans(Xs,3).
Xs = [true, true, true] ;
Xs = [true, true, false] ;
...
Xs = [false, false, false] ;
これは別のソリューションへのリンクですが、ブール値に適用する方法がわかりません。 プロローグでリストのすべてのセットを取得する PS リストの量は 2^N です。ありがとう!
プロローグでブール値のリストを生成する必要があります。
?- gener_booleans(Xs,3).
Xs = [true, true, true] ;
Xs = [true, true, false] ;
...
Xs = [false, false, false] ;
これは別のソリューションへのリンクですが、ブール値に適用する方法がわかりません。 プロローグでリストのすべてのセットを取得する PS リストの量は 2^N です。ありがとう!
Prologにmaplist
述語(SWIやYAPなど)がある場合:
booleans(Xs, N) :-
length(Xs, N),
maplist(boolean, Xs).
boolean(true).
boolean(false).
booleans
(ブール値もチェックできるため、述語の名前を変更しました。Prologでプログラミングする場合は、宣言型の名前を優先します。)
gener_booleans([],0).
gener_booleans([true|Xs],N) :- N>0, N1 is N-1, gener_booleans(Xs,N1).
gener_booleans([false|Xs],N) :- N>0, N1 is N-1, gener_booleans(Xs,N1).