サイズ n の個別のサブリストを返す関数を作成しています。
クエリ gen_list_n(4,D,[1,2,3,4]) を使用して次のプロローグ コードを実行すると、最初の回答が返された後、無限ループに陥ります。これを防ぐにはどうすればよいですか?
member_rem(E,L,R) :-
append(X,Y,R),
append( X ,[E], L0),
append( L0,Y, L).
gen_list_n(0,[],_).
gen_list_n(N,[X|Xs],L) :-
N > 0,
N1 is N-1,
member_rem(X,L,R),
gen_list_n(N1,Xs,R).