Je suis d'écrire un programme qui fait cela:Comprendre Prolog [liste]
?- pLeap(2,5,X,Y).
X = 2,
Y = 3 ;
X = 3,
Y = 4 ;
X = 4,
Y = 5 ;
X = 5,
Y = 5 ;
false.
(donne toutes les paires X, X + 1 entre 2 et 5, ainsi que le cas particulier à la fin).
Ceci est censé être la solution. Je ne comprends pas vraiment comment cela fonctionne, quelqu'un pourrait-il me guider à travers?
pLeap(X,X,X,X).
pLeap(L,H,X,Y) :-
L<H,
X is L,
Y is X+1.
pLeap(L,H,X,Y) :-
L=<H,
L1 is L+1,
pLeap(L1,H,X,Y).
Je ferais tout simplement comme ceci:
pLeap(L,H,X,Y) :-
X >= L,
X =< H,
Y is X+1.
Pourquoi ne pas travailler (en ignorant le cas particulier à la fin)?