Составление распределений — различия между версиями

Материал из Мегапедии
Перейти к: навигация, поиск
(начало)
 
 
Строка 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 распределений:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Другие алгоритмы:

Ссылки