katsu #496(2007/07/10 14:43 GMT) [ Prolog ] Rating0/0=0.00
Prologって、マイナーなんだなぁ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
uniq([], R) :- fill(R). uniq([Xh|Xs], R) :- memv(Xh, R), uniq(Xs, R). uniq([Xh|Xs], R) :- add(Xh, R), uniq(Xs, R). memv(_, V) :- var(V), fail. memv(X, [X|_]). memv(X, [_|Vt]) :- memv(X, Vt). add(X, R) :- var(R), R=[X|_]. add(X, [_|Rt]) :- add(X, Rt). fill(R):-var(R), R=[]. fill([_|Rs]):-fill(Rs). :- uniq([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9], R), writeln(R).
Rating0/0=0.00-0+
[ reply ]
katsu
#496()
[
Prolog
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]