このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1328276597/959
#  [1] 授業単元:プログラミングC 
#  [2] 問題文 配列vxの各要素に整数をscanf関数で入力し、5の倍数のみを新たな配列に格納し、これを出力するプログラムを作成せよ。 
#  

'リストの各要素に整数をで入力し、5の倍数のみを新たなリストに格納し、これを出力する' :-
        リストの各要素に整数をで入力し(_リスト),
        5の倍数のみを新たなリストに格納し(_リスト,_新たなリスト),
        これを出力する(_新たなリスト).

リストの各要素に整数をで入力し(_リスト) :-
        get_integer(_整数),
        リストの各要素に整数をで入力し(_整数,_リスト).

リストの各要素に整数をで入力し(_,[]) :-
        at_end_of_stream(user_input),!.
リストの各要素に整数をで入力し(_整数,[_整数|R]) :-
        get_integer(_整数_2),
        リストの各要素に整数をで入力し(_整数,R).

5の倍数のみを新たなリストに格納し(_リスト,_新たなリスト) :-
        findall(_5の倍数,(
                   member(_5の倍数,_リスト),
                   0 is _5の倍数 mod 5),
                _新たなリスト).

これを出力する([]).
これを出力する([_要素|R]) :-
        writef('%t\n',[_要素]),
        これを出力する(R).

get_integer(_整数) :-
        get_line(Line),
        整数入力検査(Line,_整数),!.

整数入力検査(Line,_整数) :-
        atom_to_term(Line,_整数,_),
        integer(_整数).