如何編寫兩個子句的遞歸定義來查找列表中的最大值。到目前爲止,我已經寫了這個:查找列表上的最大數的兩個子句定義
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).
這是不行的,它說有一個語法錯誤,我不能完全看到了,我知道這是不是兩個條款無論是。任何人都知道我可以如何簡化它,使其成爲兩個條款?
如果這是家庭作業,你應該添加'作業'標籤的問題。 – 2009-11-29 18:53:09
不是這不是作業,它只是嘗試使用prolog時遇到的基本困難。 – Taylor 2009-11-29 20:21:21