在Prolog中找到给定数字列表的最大值的派生树

时间:2015-11-25 07:52:02

标签: prolog

我在派生树中遇到了查找给定数字列表的最大值的问题。如何分配变量。?

以下是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).

请给我一个想法,递归调用如何工作以及如何分配变量。

谢谢...

0 个答案:

没有答案