для башни Ханоя, вывод должен выглядеть следующим образом:Hanoi Towers - еще один выход
?-move(3,[1,2,3],[],[],A1,B1,C).
A1=[].
B1=[1,2,3]
C=[].
Я знаю, как это сделать:
move(1,[H|T],B,C,A1,B1,C) :-
A1 = T,
B1 = [H|B],
C1 = C.
move(N,A,B,C,A1,B1,C) :-
N>1,
M is N-1,
move(M,[H|T],C,B,A1,B1,C),
move(1,[H|T],B,_,A1,B1,C),
move(M,C,B,[H|T],A1,B1,C).
Но следующий вопрос: «переписывание программа для обеспечения иллюстраций башен после каждого хода ». Его выход должен выглядеть следующим образом:
?- move(3,tower(a,[1,2,3]),tower(b,[]),tower(c,[]),A,B,C).
a[2 3] b[1] C[]
a[3] b[1] C[2]
a[3] b[] C[1 2]
a[] b[3] C[1 2]
a[1] b[3] C[2]
a[1] b[2 3] C[]
a[] b[1 2 3] C[]
A = tower(a, [])
B = tower(b,[1, 2, 3])
C = tower(c,[])
Как это можно сделать?
Каков ваш вопрос? – woz
@ user1415038 Я только что обновил вопрос, если вы можете дать мне руку – user1400451
@ Seçkin Savaşçı, извините за это. этот вопрос я обновил – user1400451