使用prolog,我必須創建一個規則,當給定一個列表時,確定列表的第一個元素是否等於最後一個元素列表中的元素。以下是我的想法。使用Prolog:給出一個列表檢查列表的第一個元素是否等於最後一個元素
The Base Cases:
1) If The Parameter Is Not A List: Return False
2) If The Parameter Is A List But Empty: Return False
3) If The Parameter Is A List But Has One Element: Return False
The Recursive Step:
Recursively Going Through The List Getting The
First Element And TheLast Element Then Compare
fela() :- false. <-- Base Case One
fela([]):-false. <-- Base Case Two
fela([H]):-false. <-- Base Case Three
fela([H|T]):- H1 is H, H1 == T, fela(T,H1). <-- Recursive Step
貝婁是功能爲先,最後,會員
first(F, [F|_]).
last(L, [H|T]) :- last(L, T).
member(X, [X|_]).
member(X, [_|T]) :- member(X, T).
我有我的遞歸步驟的麻煩,我不確定如何存儲的第一要素,並遍歷列表,並獲得最後一個元素,然後比較真/假答案的結果。可能有人幫助我
感謝,
埃裏克:)
因此,您應該接受其中一個答案,這對您最有幫助。 :) –