このディレクトリの索引

#  @nishio
#  Prologでfoo([t, f], 3, RET)とかやったらRETが[[t, t, t], [t, t, f], ..., [f, f, f]]になるような述語fooの作り方に悩んでいる
#  

'Prologでfoo([t, f], 3, RET)とかやったらRETが[[t, t, t], [t, t, f], ..., [f, f, f]]になるような述語fooの作り方に悩んでいる'(_要素リスト,N,RET) :-
        foo(_要素リスト,N,RET).

foo(_要素リスト,N,RET) :-
        findall(L,foo_1(N,_要素リスト,L),RET).

foo_1(0,_,[]).
foo_1(N,_要素リスト,[_要素|R]) :-
        N > 0,
        member(_要素,_要素リスト),
        N_1 is N - 1,
        foo_1(N_1,_要素リスト,R).