使用 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).
我的递归步骤有问题,我不确定如何存储第一个元素,并遍历列表并获取最后一个元素,然后比较结果以获得真/假答案。有人可以帮我吗
谢谢,
埃里克:)