Хорошо известны две комбинаторные формулы: 

 и 

.
Первая дает число разных сочетаний размера 

 в случае, когда у нас 

 типов объектов, и все в одном экземпляре.
Вторая дает число разных сочетаний размера 

 в случае, когда у нас 

 типов объектов, и все в неограниченном количестве.
На практике часто встречается промежуточный случай, когда есть 

 типов объектов, причем объектов одного типа одно количество, другого типа - другое и т.д. Как получить число сочетаний из 

 типов объектов по 

, если известны количества 

 объектов каждого типа?
Например, возьмем множество объектов 

. Здесь 

, 

, 

, 

. Допустим, мы хотим найти количество всех различных сочетаний по 

 (

). Они будут такими:






Какая формула описывает их количество в общем случае?
Предположим, что 

 отсортированы по возрастанию.
Очевидно, что если 

, то задача сводится к неограниченному случаю 

.
Если 

, но 

 то можно из неограниченного случая 

 вычесть число комбинаций, в которых объект с количеством 

 используется более 

 раз, т.е. 

. Такое же вычитание можно сделать и для 

, если одновременно 

, 

, но  

Но если суммарное количество обьектов двух (а тем более нескольких) самых малочисленных типов слишком мало, т.е. 

, то просто так вычесть независимо все лишние комбинации отдельно для 

 и отдельно для 

 не получается. Некоторые комбинации удаляются дважды. Например, если применить этот принцип к задаче выбора четырех разных объектов из набора 

 то "запрещенная" комбинация 

 вычитается два раза отдельно по 

 и отдельно по 

.