Составление распределений — различия между версиями
(начало) |
|||
Строка 26: | Строка 26: | ||
== Ссылки == | == Ссылки == | ||
*[[Участник:Logic-samara]] | *[[Участник:Logic-samara]] | ||
− | [[Категория:Дискретная математика]][[Категория:Комбинаторика]][[Категория:Алгоритмы]] | + | [[Категория:Математика]][[Категория:Дискретная математика]][[Категория:Комбинаторика]][[Категория:Алгоритмы]] |
Версия 15:33, 9 апреля 2023
Составление распределений — это алгоритм (комбинаторная операция) получения разложений числа 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 распределений: