Проверьте, не превышает ли частота какого-либо элемента
Я хочу решить проблему: у меня есть список элементов Prolog. Если частота любого элемента большеN
тогда ложь - это возвращение. Мои ожидания как ниже.
?- frequency([1,2,2,2,5],3).
true.
?- frequency([1,2,2,2,2,5],3).
false.
У меня есть код для получения определенной частоты элемента. Любая идея для проблемы.
count(_, [], 0) :-
!.
count(X, [X|T], N) :-
count(X, T, N2),
N is N2 + 1.
count(X, [Y|T], N) :-
X \= Y,
count(X, T, N).