fact(0, 1). fact(N,V) :- N > 0, N1 is N-1, fact(N1,V1), V is V1*N. v(DO,DO):-writeln(DO). v(OD,DO):-OD < DO, writeln(OD), OD1 is OD+1, v(OD1,DO). pc(1). pc(2). pc(3). pc(4). pc(5). pc(6). pc(7). pc(8). pc(9). hra(0, VZ, V):- pc(VZ), V is VZ. hra(N, VZ, V) :- N > 0, N1 is N-1, hra(N1,VZ1,V1), (VZ = VZ1 + A; VZ=VZ1*A; VZ=VZ1-A), pc(A), V is VZ. %s(n) s(s(n)) --> s(s(s(n))) plus(X,n,X). plus(X,s(Y),s(V)) :- plus(X, Y, V). krat(n,_,n). krat(_,n,n). krat(X,s(Y), V) :- krat(X,Y,V1), plus(V1,X,V).