Professional Documents
Culture Documents
% (I, I) (I, O) % (I, I) (I, O) : 1. Varianta 1 2. Varianta 2
% (I, I) (I, O) % (I, I) (I, O) : 1. Varianta 1 2. Varianta 2
1. Varianta 1
2. Varianta 2
% (i, i) (i, o)
fact1(0, 1).
fact1(N, F) :- N > 0,
N1 is N-1,
fact1(N1, F1),
F is N * F1.
% (i, i) (i,o)
fact2(0, 1) :- !.
fact2(N, F) :- N1 is N-1,
fact2(N1, F1),
F is N * F1.
3. Varianta 3
% (i, i), (i, o)
fact3(N, F) :- N > 0,
N1 is N-1,
fact3(N1, F1),
F is N * F1.
fact3(0, 1).
?- fact3(3, N).
N = 6.
EXEMPLU 2.
1. Varianta 1
2. Varianta 2
go1 :- member1(1,[1,2,1,3,1,4]).
go2 :- member2(1,[1,2,1,3,1,4]).
3. Varianta 3
% (i, i), (o, i)
member3(E,[_|L]) :- member3(E,L).
member3(E,[E|_]).
?- member3(E,[1,2,3]).
E=3 ;
E=2 ;
E=1.
?-member3(4, [1,2,3]).
false.
?- member3(2,[1,2,3]).
true ;
false.
Se d o list eterogen format din numere, simboluri sau liste de numere. Se cere s se
determine suma numerelor din lista eterogen.
?- suma([1,a,[1,2,3],4],S).
S = 11.
?- suma([a,b,[]],S).
S=0.