liste_diviseurs(N,L) :-
	findall(Div,(between(1,N,Div),N rem Div =:= 0),L).

premier(N) :- liste_diviseurs(N,[1,N]).


liste_premiers(Borne,L) :-
	findall(Prem,(between(1,Borne,Prem),premier(Prem)),L).

%L1 et L2 des listes non triées sans répétition contenant uniquement des
%constantes
%intersection([a,b,c],[c,b,d],[b,c])

intersect([],_L2,[]).

intersect([X|L1],L2,[X|L3]) :-
	member(X,L2),!,
	intersect(L1,L2,L3).

intersect([_X|L1],L2,L3) :-
	intersect(L1,L2,L3).


