Комбинаторика - перебор комбинаций

Рейтинг: 0Ответов: 1Опубликовано: 25.11.2014

Есть определенное число шаров N, пусть будет 10. Есть определенное число корзин K, пусть будет 3. Тогда я использую следующий алгоритм:

N = 0; 0 шаров можно распределить по корзинам одним способом `
       0 0 0
N = 1; 1 шар можно распределить по корзинам тремя способами
       1 0 0
       0 1 0
       0 0 1
N = 2; 2 шара можно распределить по корзинам шестью способами
       2 0 0
       0 2 0
       0 0 2
       1 1 0
       1 0 1
       0 1 1
и так далее.

Основываясь именно на данном алгоритме, нужно перебрать все комбинации. Можно ли использовать для этой цели задачу определения всех подмножеств конечного множества? Понимаю, что здесь нужна рекурсия и что-то связанное с биномиальными коэффициентами, но как подступиться к решению. Прошу у вас совета, помогите, пожалуйста.

upd. Скажите, пожалуйста, можно ли автоматически составить матрицу в данном случае (10, 3) с использованием треугольника Паскаля? Здесь получается, что сумма строки равна конкретному N.

Ответы

Ответов пока нет.