我试图在 Prolog 中做一个这样的练习:我介绍了这个列表[10,20, 10, 20, 30]
,程序显示:
10 - 2 time; 20 - 2 times; 30 - 1 times.
这是我的代码:
conta(_,[], 0).
conta(X, [X|T], N) :- conta(X,T, N2), N is N2 + 1 .
conta(X, [Y|T], N) :- X \= Y, conta(X,T,N).
aux([],[]).
aux([X|L],L1):-conta(X,L1,C),write(X),write(C), write('vezes'),aux(L,L1).
但结果是这样的:
10 - 2times 20 -2time 10-2times 20-2times 30-1 time
false.
他向元素显示元素在列表中的次数。任何帮助,请!