このディレクトリの索引


ならびの全分割(_ならび,_全分割されたならび) :- 
        reverse(_ならび,_反転されたならび),
        ならびの全分割(_反転されたならび,[],_全分割されたならび).

ならびの全分割([],_全分割,_全分割).
ならびの全分割([_要素_1|_残り要素ならび],_組み上がる全分割,_全分割) :-
        '_要素_1を除いた全分割から_全分割ならび_2を取り出して組み上がる全分割を_全分割ならび_2とする'(_分割ならび_2,_組み上がる全分割,_全分割ならび_2),
        ならびの全分割(_残り要素ならび,[[_要素_1|_全分割ならび_2]|_全分割ならび_2],_全分割).
ならびの全分割([_要素|_残り要素ならび],_全分割_1,_全分割) :-
        '_残り要素ならびによる_全分割_1の組み上げが完成したら_要素だけのならびを先頭に付加する'(_要素,_残り要素ならび,_全分割_1,_全分割).

'_要素_1を除いた全分割から_全分割ならび_2を取り出して組み上がる全分割を_全分割ならび_2とする'(_分割ならび_2,_組み上がる全分割,_全分割ならび_2) :-
        select(_要素_2,_組み上がる全分割,_全分割ならび_2).

'_残り要素ならびによる_全分割_1の組み上げが完成したら_要素だけのならびを先頭に付加する'(_要素,_残り要素ならび,_全分割_1,_全分割) :-
        ならびの全分割(_残り要素ならび,[[_要素]|_全分割_1],_全分割).