このディレクトリの索引
#  
#  順列をリスト[a1,a2,・・・,an] で表すとき、その転倒数を計算しよう。
#  

偶順列(_順列) :-
        転倒数(_順列,_転倒数),
        0 is _転倒数 is 2,!.

転倒数(_順列,_転倒数) :-
        findall(Count,(
                   append(_,[N|R],_順列),
                   count((append(_,[M|_],R),N > M),Count)),
                L),
        sum(L,_転倒数).