2013-07-04 21 views

回答

1

您可以使用內建函數和Prolog的搜索功能來代替自動定義。

附加/ 3建立3個列表之間的關係。即,第三個列表是前兩個的並置。這可以用來輕鬆地回答你的任務:

satisfy(L) :- append(_, [0,1|R], L), append(_, [1,0,0|_], R). 

,你可以看到,append(_, PatternAndRest, L)搜索 L中的模式,產生了休息。

但是您可能需要編寫一個遞歸謂詞來掃描列表尋找模式。我希望你能在滿足/ 1中看到的語法能幫助你。

相關問題