如何编写两个子句的递归定义来查找列表中的最大值.到目前为止,我写了这个:
max(L,M):-
max([H|T],M):-
max(T,H,M).
max([],M,M).
max([H|T],Y,M):-
H =< Y,
max(T,Y,M).
max([H|T],Y,M):-
H > Y,
max(T,H,M).
Run Code Online (Sandbox Code Playgroud)
这不起作用,它说有一个我无法看到的语法错误,我知道它也不是两个子句.任何人都知道如何简化它以使其成为两个条款?
prolog ×1