このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1349545643/731
#  【お題】 
#  整数が入っている入れ子のリストから、 
#  入れ子構造は保ったまま奇数のみを取り出す関数を書け 
#  入れ子の深さは制限せず、空リストは取り除く事 
#   
#  例: [1, [2, 3], 4, [[5, [6]], 7]] #=> [1, [3], [[5], 7]] 
# 
%  空リストを取り除かない
%  p([],[]).
%  p(A,B) :- q(A,B,C,D),p(C,D).
%  q([[A|B]|C],[D|E],C,E) :- p([A|B],D).
%  q([A|B],[A|C],B,C) :- 1 is A mod 2,!.
%  q([_|A],B,A,B).
%  
%  空リストを取り除く
%  p([],[]).
%  p(A,B) :- q(A,B,C,D),p(C,D).
%  q([[A|B]|C],[[D|E]|F],C,F) :- p([A|B],[D|E]).
%  q([A|B],[A|C],B,C) :- integer(A),1 is A mod 2,!.
%  q([_|A],B,A,B).
%  

'整数が入っている入れ子のリストから、入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事 。'([],[]).
'整数が入っている入れ子のリストから、入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'(L1,L2) :-
        '入れ子構造は保ったまま奇数のみを取り出す。'(L1,L2,R1,R2),
        '整数が入っている入れ子のリストから、入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'(R1,R2).

'入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'([List1|R1],[List2|R2],R1,R2) :-
        list(List1),
        '整数が入っている入れ子のリストから、入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'(List1,List2),
        'ただし空リストは取り除く事。'(List2),!.
'入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'([N|R1],[N|R2],R1,R2) :-
        integer(N),
        1 is A mod 2,!.
'入れ子構造は保ったまま奇数のみを取り出す。ただし空リストは取り除く事。'([_|R1],R2,R1,R2).


'ただし空リストは取り除く事。'([_|_]).