Prolog-如何进行循环排列

时间:2018-08-10 18:31:33

标签: prolog

我是Prolog的新手,我想了解如何制作表现如下的谓词:

?- circle([1,2,3],X).
X = [1,2,3];
X = [2,3,1];
X = [3,1,2];
false.  

1 个答案:

答案 0 :(得分:3)

您可以两次使用append/3

circle(L, C):-
  append(Head, [First|Tail], L),
  append([First|Tail], Head, C).