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

Материал из ALL
Перейти к: навигация, поиск
Строка 1: Строка 1:
'''Составление распределений''' — это алгоритм ([[комбинаторика|комбинаторная]] операция) получения разложений числа '''n''' на '''k''' слагаемых, включая ноль.  
+
'''Составление распределений''' — это алгоритм ([[комбинаторика|комбинаторная]] операция) получения разложений числа '''n''' на '''k''' слагаемых, включая нулевые слагаемые.  
 
== Обозначения ==
 
== Обозначения ==
 
Введём обозначения:
 
Введём обозначения:

Версия 11:51, 3 марта 2016

Составление распределений — это алгоритм (комбинаторная операция) получения разложений числа n на k слагаемых, включая нулевые слагаемые.

Обозначения

Введём обозначения:

n – натуральное число;

t – порядковый номер распределения;

k – число элементов распределения;

{R1,R2,…,Rk} – распределение числа n среди k элементов.

Основная идея алгоритма распределений числа n среди k элементов состоит в следующем: в получении разбиений числа n на не более, чем k слагаемых, добавлении нулевых слагаемых до k элементов и переборе перестановок с повторениями из k элементов для каждого разбиения.

Алгоритм распределений

Входные данные: n; k.

КОМ51.JPG

  • Заметим, что для любого распределения сумма его k элементов равна числу n.

Пример

При n=6, k=3 получаем 28 распределений:

КОМ53.JPG

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

Ссылки