我需要编写一个小的Prolog程序来计算列表中每个元素的出现次数。

numberOfRepetition(input, result)


例如:

numberOfRepetition([a,b,a,d,c,a,b], X)


可以用X=[a/3,b/2,d/1,c/1]满意,因为a出现3次,b出现2次,cd一次。

最佳答案

我不想给你答案,所以我会帮助你:

% Find the occurrences of given element in list
%
% occurrences([a,b,c,a],a,X).
% -> X = 2.

occurrences([],_,0).
occurrences([X|Y],X,N):- occurrences(Y,X,W),N is W + 1.
occurrences([X|Y],Z,N):- occurrences(Y,Z,N),X\=Z.


根据您的努力和反馈,我可以帮助您获得答案。

10-06 09:06