A maradék:
----- 5. -----
:- use_module(library(clpfd)).
jobbl(L, N) :-
length(L, Len),
length(BL, Len),
jobbl(L, BL, N),
% Ha az elsõ elem lehetséges jobb-látvány, behelyettesíthetõ
BL=[B1|_], L = [X1|_],
( B1 == 1 -> X1 #= N
; true
).
jobbl([L], [1], N) :-
L in {0}\/{N}.
jobbl([X1,X2|Xs], [B1,B2|Bs], N) :-
B1 #<=> (B2 #/\ (X2 #= 0)),
B1 #=> X1 in {0}\/{N},
jobbl([X2|Xs],[B2|Bs],N).
2009/6/18 pkt-zer0 <pktzerus(a)gmail.com>
Ha már a konzultáción nem tudtam ott lenni, legalább a
múltkori
vizsgasornak nekiestem. Az email további részében az első négy feladat
megoldása következik (az ötödik még folyamatban), az én elképzeléseim
szerint helyesen. Ha ez nem így volna, nagyra értékelném, ha az illetékesek
(akár a tanár úr, akár azok, akik épp ezt a vizsgát írták) kiigazítanának.
~ Gyuri