- 302 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 13:57:34 ]
- kti.mff.cuni.cz/~bartak/prolog/recursion.html
ここだとまず、元のリストが奇数番目から始まるか偶数番目から始まるかを ずっと保存しながら扱っているね。 > even_odd(L,E,O):-odd(L,E,O). 最初は1番、つまり奇数番と考えてodd/3を呼ぶ、と。 > odd([],[],[]). > odd([H|T],E,[H|O]):-even(T,E,O). > > even([],[],[]). > even([H|T],[H|E],O):-odd(T,E,O).
|

|