Advertisement
Guest User

Untitled

a guest
Jan 14th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.76 KB | None | 0 0
  1. % Обычная рекурсия
  2.  
  3. sum(N,0) :- N < 2.
  4. sum(2,2) :- !.
  5.  
  6. sum(N,S) :- N mod 2 =:= 1, N1 is N-1, sum(N1,S).
  7. sum(N,S) :- N1 is N-2, sum(N1, S1), S is S1+N.
  8.  
  9.  
  10. % Хвостовая рекурсия
  11.  
  12. sum(N,S) :- sum(N,S,0).
  13.    
  14. sum(N,0, _) :- N < 2.
  15. sum(2,S, PS) :- S is PS + 2, !.
  16.  
  17. sum(N,S, PS) :- N mod 2 =:= 1, !, N1 is N-1, sum(N1,S, PS).
  18. sum(N,S,PS) :- N1 is N-2, PS1 is PS+N, sum(N1, S, PS1).
  19.  
  20.  
  21. % Обычная рекурсия
  22. delete([],_,[]).
  23. delete([H|T],A,Result) :- H=A, !, delete(T,A,Result).
  24. delete([H|T],A,Result) :- delete(T,A,Result1), Result = [H|Result1].
  25.  
  26.  
  27. % Хвостовая рекурсия
  28.  
  29. delete([],_,[]).
  30. delete([H|T],A,Result) :- H=A, !, delete(T,A,Result).
  31. delete([H|T],A,[H|Result]) :- delete(T,A,Result).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement