Vous devez avoir cherché, un certain temps, chaque question, avant de regarder les réponses.
Voici la base de connaissance :
hors_de(X, [X|_]) :- !, fail. hors_de(X, [_|Liste]) :- hors_de(X, Liste). hors_de(_,[]).
Exemple d'exécution dans un Prolog interactif :
?- consult('listes.pl'). % listes.pl compiled 0.00 sec, 8 bytes true. ?- hors_de(1,[1,2,3]). false. ?- hors_de(4,[1,2,3]). true
Voici la base de connaissance :
longueur([],0). longueur([_|Liste], Nplus1) :- longueur( Liste, N), Nplus1 is N+1.
Exemple d'exécution dans un Prolog interactif :
?- reconsult('listes.pl'). % listes.pl compiled 0.00 sec, 8 bytes true. ?- longueur([1,2,3],N). N = 3.
Voici la base de connaissance :
tous_differents([]). tous_differents( [X | Liste] ) :- hors_de(X, Liste), tous_differents(Liste).
Exemple d'exécution dans un Prolog interactif :
?- reconsult('listes.pl'). % listes.pl compiled 0.01 sec, 200 bytes true. ?- tous_differents([1,2,1,3]). false. ?- tous_differents([1,2,4,3]). true .