Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Обычная рекурсия
- sum(N,0) :- N < 2.
- sum(2,2) :- !.
- sum(N,S) :- N mod 2 =:= 1, N1 is N-1, sum(N1,S).
- sum(N,S) :- N1 is N-2, sum(N1, S1), S is S1+N.
- % Хвостовая рекурсия
- sum(N,S) :- sum(N,S,0).
- sum(N,0, _) :- N < 2.
- sum(2,S, PS) :- S is PS + 2, !.
- sum(N,S, PS) :- N mod 2 =:= 1, !, N1 is N-1, sum(N1,S, PS).
- sum(N,S,PS) :- N1 is N-2, PS1 is PS+N, sum(N1, S, PS1).
- % Обычная рекурсия
- delete([],_,[]).
- delete([H|T],A,Result) :- H=A, !, delete(T,A,Result).
- delete([H|T],A,Result) :- delete(T,A,Result1), Result = [H|Result1].
- % Хвостовая рекурсия
- delete([],_,[]).
- delete([H|T],A,Result) :- H=A, !, delete(T,A,Result).
- delete([H|T],A,[H|Result]) :- delete(T,A,Result).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement