我在派生树中遇到了查找给定数字列表的最大值的问题。如何分配变量。?
以下是Prolog中的规则
max([X],X). %If one element list, the element is the maximum
max([X|L],X) :- max(L,M), X > M. %If head is greater than the maximum of tail the head is the maximum.
max([X|L],M) :- max(L,M), X =< M. %If head is less than or equal the maximum of tail, then maximum of tail is the maximum.
所以我想知道Prolog如何回答以下查询的步骤。
?- max([10,20,30], M).
请给我一个想法,递归调用如何工作以及如何分配变量。
谢谢...