Составление распределений
Материал из ALL
Версия от 05:16, 6 марта 2016; Logic-samara (обсуждение | вклад)
Составление распределений — это алгоритм (комбинаторная операция) получения разложений числа n на k слагаемых, включая нулевые слагаемые.
Обозначения
Введём обозначения:
n – натуральное число;
t – порядковый номер распределения;
k – число элементов распределения;
{R1,R2,…,Rk} – распределение числа n среди k элементов.
Основная идея алгоритма распределений числа n среди k элементов состоит в следующем: в получении разбиений числа n на не более, чем k слагаемых, добавлении нулевых слагаемых до k элементов и переборе перестановок с повторениями из k элементов для каждого разбиения.
Алгоритм распределений
Входные данные: n; k.
- Заметим, что для любого распределения числа n сумма его k элементов равна числу n.
Пример
При n=6, k=3 получаем 28 распределений:
Другие алгоритмы:
- составление перестановок;
- составление лексикографических перестановок;
- составление следующей перестановки;
- составление сочетаний;
- составление лексикографических сочетаний;
- составление следующего сочетания;
- составление размещений;
- составление лексикографических размещений;
- составление следующего размещения;
- составление разбиений;
- составление лексикографических разбиений;
- составление следующего разбиения;
- составление распределений;
- составление лексикографических распределений;
- составление следующего распределения;
- составление лексикографических перестановок с повторениями;
- составление следующей перестановки с повторениями;
- составление лексикографических сочетаний с повторениями;
- составление следующего сочетания с повторениями.