我在prolog中尝试这个回文程序,逻辑工作但写操作不起作用。那么代码中的问题是什么?
帕林(列表1): - findrev(List1中,[],列表2), 比较(列表1,列表2)。
findrev([],List1,List1).
findrev([X|Tail],List1,List2):-
findrev(Tail,[X|List1],List2).
compare([],[]):-
write("\nList is Palindrome").
compare([X|List1],[X|List2]):-
compare(List1,List2).
compare([X|List1],[Y|List2]):-
write("\nList is not Palindrome").
答案 0 :(得分:1)
它对我有用。我使用SWI prolog。并尝试将“替换为”。因为"Something"
将其打印为数字列表,而不是字符串。