我想讓我的頭繞在Prolog的列表中。要做到這一點,我正在嘗試創造一種遊戲。你傳遞一個可以重複的數字1-9的列表,列表可以是任意長度。規則是從第一個元素(e)開始,你只能移動到e + 2或e + 3,直到最後。目標是「登陸」最高的數字。本質上它有點像跳房子。我遇到的問題是確定路徑的所有可能的排列。到目前爲止,我有以下幾點。使用給定公式的可能的列表置換
paths([], []). %empty list returns empty list
paths([X], [X]). %list with one element returns that one element
paths([X1, X2], [X1]). %list with 2 elements returns the first element
paths([X1, X2, X3], [X1,X3]). %list with three elements returns the first and third element
paths() :- % the recursive case for a list with 4+ elements
使用將是一個列表:[1,2,3,4,5,6,8,7,9,3,6,5,7,8,9]
我需要確定使用約所提到的規則的所有可能路徑。我希望清單在序言:(
任何邏輯的指導,將不勝感激索引
我認爲[這](http://stackoverflow.com/questions/36579234/prolog-generating-every-possibility -of-a-list-given-a-pattern)是你正在尋找的東西。 – tas