このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1328276597/163
#  [1] 授業単元:プログラミング演習 
#  [2]n個の要素からなる配列[V1,V2, V3,...,Vn]がある。 
#  i番目の要素をViと表す。Viはそれぞれ1〜100の値を持つ。 
#  最少値を持つViを1つ取り出せ。 
#  同値の要素があった場合、要素番号の小さい方を取り出すこと。 
#  (nや要素の値は適当に入れてよい) 
#  

'n個の要素からなる配列[V1,V2, V3,...,Vn]がある。i番目の要素をViと表す。Viはそれぞれ1〜100の値を持つ。最少値を持つViを1つ取り出せ。同値の要素があった場合、要素番号の小さい方を取り出すこと。'(_n個,_ならび,_I番目,_最小値) :-
        'n個の要素からなる配列[V1,V2, V3,...,Vn]がある'(_n個,_ならび),
        append(L0,[_最小値|R],_ならび),
        length([_|L0],_I番目),
        \+((member(B,R),B @< _最小値)),!.

'n個の要素からなる配列[V1,V2, V3,...,Vn]がある'(_n個,_ならび) :-
        length(_ならび,_n個),
        findall(_要素,(
                    append(_,[_要素|_],_ならび),
                    _要素 is random(100) + 1),
                _ならび).