Advertisement
Artashes

Task4.3

Mar 2nd, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.24 KB | None | 0 0
  1. %Ханойские башни
  2. %Имеется три стержня: A, B и C. На стержне А надеты N дисков разного диаметра, надетые друг на друга в
  3. %порядке возрастания диаметров. Необходимо переместить диски со стержня А на стержень С используя В как
  4. %вспомогательный, если перекладывать можно только по одному диску и нельзя больший диск класть на меньший.
  5. %На экран выводится порядок перемещения дисков со стержня на стержень.
  6. %сообщение о переносе диска
  7.  
  8. inform(Location1, Location2):-
  9.        write("Со стержня "), write(Location1), write(" на стержень "), write(Location2), nl.
  10.  
  11. hanoi(N):-move(N, left, middle, right).
  12.  
  13. move(1, Left, _, Right):- !, inform(Left, Right).
  14. move(N, Left, Middle, Right):- N1 is N - 1,
  15.                                 move(N1, Left, Right, Middle),
  16.                                 inform(Left, Right),
  17.                                 move(N1, Middle, Left, Right).
  18.  
  19. %hanoi(3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement