Advertisement
Guest User

lab5

a guest
Nov 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.37 KB | None | 0 0
  1. %1.
  2.  
  3. чет(X) :- X mod 2 =:= 0.
  4.  
  5. печать_нечет(_, Y) :-
  6.         not(чет(Y)),
  7.         write(Y), tab(1), fail.
  8.  
  9. печать_нечет(X, Y) :-
  10.         Y \== X, Y1 is Y - 1, печать_нечет(X, Y1); true.
  11.  
  12. нечет() :- read(X), read(Y), печать_нечет(X, Y).
  13.  
  14.  
  15. %2.
  16.  
  17. выч_сум(X, Y, Sum) :-
  18.         S is X + Sum,
  19.         X \== Y,
  20.         X1 is X + 1,
  21.         выч_сум(X1, Y, S).
  22.  
  23. выч_сум(X, X, Sum) :- write(sum = Sum).
  24.  
  25. сум() :-
  26.                 read(X),
  27.                 read(Y),
  28.                 Y1 is Y + 1,
  29.                 выч_сум(X, Y1, 0).
  30.  
  31. %3.
  32.  
  33. найти_мин(0, Min) :- write(Min).
  34.  
  35. найти_мин(X, Min) :-
  36.         D is X mod 10,
  37.         X1 is X div 10,
  38.         D < Min,
  39.         найти_мин(X1, D).
  40.  
  41. найти_мин(X, Min) :-
  42.         X1 is X div 10,
  43.         найти_мин(X1, Min).
  44.  
  45. мин() :-
  46.         read(X),
  47.         X \= 0,
  48.         X1 is abs(X),
  49.         найти_мин(X1, 9).
  50.  
  51. мин() :- write(0).
  52.  
  53. %4.
  54.  
  55. выч_фиб(0, Y) :- Y is 1, !.
  56. выч_фиб(1, Y) :- Y is 1, !.
  57.  
  58. выч_фиб(X, Y) :-
  59.         X1 is X - 2,
  60.         X2 is X - 1,
  61.         выч_фиб(X1, Y1),
  62.         выч_фиб(X2, Y2),
  63.         Y is Y1 + Y2.
  64.  
  65. фиб() :-
  66.         repeat,
  67.         read(X),
  68.         (X < 0, !;
  69.                   выч_фиб(X, Y), write(Y), nl, fail).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement