Пролог: как сказать с помощью global_cardinality, что список содержит хотя бы N элементов, равных M (M,N - целые числа)

Например: у меня есть некоторая переменная: A,B,C,D и условие: в списке [A,B,C,D] должно быть как минимум двойное число 2. Я могу использовать только комбинаторное ограничение global_cardinality/2,

1 ответ

Хорошо, это был довольно глупый вопрос. Решение, например: global_cardinality(VarList, [1-_,2-M]), M >= 2. Таким образом, у нас нет никаких ограничений относительно того, сколько 1 число имеет VarList, но мы даем число числа 2, то есть М, и пусть М больше 2.

Другие вопросы по тегам