Количество способов разбить число слагаемые

Нахождение количества разбиений числа на слагаемые

Задача:
По заданному числу [math]n[/math] найти количество его различных разбиений на положительные слагаемые [1] [math] m_0 + m_1 + m_2 + \ldots + m_k = n [/math] так, что при всех [math] i\colon m_i \leqslant m_ [/math] .

Содержание

Алгоритм за O(N 3 ) [ править ]

Пусть [math]P(n, m, k)[/math] — количество разбиений числа [math]n[/math] на [math]m[/math] слагаемых, каждое из которых не превосходит [math]k[/math] . Имеет место следующее рекуррентное соотношение:

[math]P(n, m, k) = \left \<\beginP(n, m, k — 1) + P(n — k, m — 1, k), & 0 \lt m \leqslant n, 0 \lt k \leqslant n \\ P(n, m, n), & k \gt n \\ 1, & n = 0, m = 0 \\ 0, & \text \end \right. [/math]

Рассмотрим множество разбиений числа [math]n[/math] на [math]m[/math] слагаемых, каждое из которых не больше [math]k[/math] . Разделим его на две непересекающиеся группы — в первой будут все разбиения, которые не содержат в качестве старшего слагаемого [math]k[/math] . Таких разбиений [math]P(n, m, k — 1)[/math] . Во второй — все разбиения со старшим слагаемым [math]k[/math] . Их столько же, сколько разбиений числа [math]n — k[/math] на [math]m — 1[/math] слагаемое, каждое из которых не больше [math]k[/math] , то есть [math]P(n — k, m — 1, k)[/math] .

Количество всех разбиений числа равно [math]\sum\limits_^nP(n, i, n)[/math] . Реализация данного алгоритма методом динамического программирования с меморизацией будет иметь асимптотику [math]O(n^<3>)[/math] .

Алгоритм за O(N 2 ) [ править ]

[math]P(n,k) = \left \< \begin P(n,k — 1) + P(n — k, k), & 0 \lt k \leqslant n \\ P(n, n), & k \gt n \\ 1, & n = 0, k = 0 \\ 0, & n \neq 0 , k = 0 \end \right.[/math]

Заметим, что нам не нужно считать количество слагаемых [math]m[/math] в разбиении. Достаточно посчитать [math]P(n, k)[/math] — количество разбиений числа [math]n[/math] на произвольное количество слагаемых, каждое из которых не больше [math]k[/math] . Рассмотрим множество таких разбиений. Разделим его на две непересекающиеся группы. В первую войдут те разбиения, в которых отсутствует слагаемое [math]k[/math] . Очевидно, таких разбиений [math]P(n, k — 1)[/math] . Во второй группе — те разбиения, в которые слагаемое [math]k[/math] вошло. Их количество совпадает с количеством разбиений числа [math]n — k[/math] на слагаемые, каждое из которых не превосходит [math]k[/math] , и равно [math]P(n — k, k)[/math] .

Количество всех разбиений числа [math]n[/math] равно [math]P(n,n)[/math] . Асимптотика [math]O(n^<2>)[/math] .

Алгоритм за O(N 3/2 ) [ править ]

Рассмотрим алгоритм нахождения количества разбиений числа [math]n[/math] на слагаемые, который работает за [math] O(n \sqrt) [/math] .

Итак, обозначим количество таких разбиений за [math] p(n) [/math] .

Рассмотрим следующее бесконечное произведение:

[math] (1 + x + x^2 + \dots)(1 + x^2 + x^4 + \dots) \dots (1 + x^k + x^ <2k>+ \dots) \dots [/math]

После раскрытия скобок каждый член произведения получается в результате умножения мономов (одночленов), взятых по одному из каждой скобки. Если в первой скобке взять [math]x^[/math] , во второй — [math]x^<2m_2>[/math] и т.д., то их произведение будет равно [math]x^.[/math] Значит, после раскрытия скобок получится сумма мономов вида [math]x^[/math] .

Можно увидеть, что [math] x^n [/math] встретится в полученной бесконечной сумме столько раз, сколькими способами можно представить [math]n[/math] как сумму [math]m_1 + 2m_2 + 3m_3 + . [/math] Каждому такому представлению отвечает разбиение числа [math]n[/math] на [math]m_1[/math] единиц, [math]m_2[/math] двоек и т.д. Таким образом, очевидно, получаются все разбиения, так как из первой скобки мы можем взять любое [math]x^[/math] , где [math]m_i \in [0 \dots \infty),[/math] то есть произвольное количество единиц в нашем разбиении. Аналогично, мы можем взять произвольное количество двоек и т.д. Но при раскрытии скобок мы находим произведения всех возможных комбинации множителей из разных скобок. Поэтому коэффициент при [math]x^n[/math] равен числу разбиений [math]p(n)[/math] .

Посмотрим теперь на выражения в скобках. Каждое из них — бесконечная геометрическая прогрессия. Полагая [math]0 \leqslant x \lt 1[/math] , по формуле ее суммирования:

[math]1 + x + x^2 + x^3 + \dots = \frac<1><1 - x>[/math] , [math]1 + x^2 + x^4 + x^6 + \dots = \frac<1><1-x^2>[/math] [math]\dots[/math] [math]1 + x^k + x^ <2k>+ x^ <3k>+ \dots = \frac<1><1-x^k>[/math] [math]\dots[/math]

Запишем теперь производящую функцию последовательности [math]p(n)[/math] :

[math]p(0) + p(1) x + p(2) x^2 + p(3) x^3 + \dots = \frac<1><(1-x)(1-x^2)(1-x^3)\dots>[/math] [math](1)[/math]

Рассмотрим произведение [math](1-x)(1-x^2)(1-x^3). [/math] , т.е. знаменатель правой части формулы [math](1)[/math] . Раскрывая в нём скобки, получим следующий результат:

[math](1 — x)(1 — x^2)(1 — x^3) . = 1 — x — x^2 + x^5 + x^7 — x^ <12>— x^ <15>+ x^ <22>+ x^ <26>— x^ <35>— x^ <40>+ . [/math]

Показатели степеней в правой части — пятиугольные числа [2] , т.е. числа вида [math](3q^2 \pm q)/2[/math] , а знаки при соответствующих мономах равны [math](-1)^q[/math] . Исходя из этого наблюдения, Эйлер предположил, что должна быть верна следующая теорема, впоследствии названная его именем.

Теорема (Пентагональная теорема Эйлера):
Доказательство:
[math]\triangleright[/math]

Раскроем в этом произведении первые [math]22[/math] скобки. Мы получим выражение

где в квадратной скобке точками обозначены слагаемые, содержащие [math]x[/math] в более высокой степени, чем [math]22[/math] . Не будем выписывать эти члены, так как после умножения квадратной скобки на [math]1-x^<23>[/math] , [math]1-x^<24>[/math] и т.д. они изменятся. Выписанные же члены больше меняться не будут. Поэтому, если раскрыть все скобки, то получится бесконечный ряд, первые члены которого имеют вид

Анализируя этот ряд, Эйлер пришел к выводу, что, если превратить бесконечное произведение

в ряд, то в этом ряду отличны от нуля лишь слагаемые, вида [math](-1)^q x^<\frac<3q^2+q><2>>[/math] , где [math]q[/math] — натуральное число.

При раскрытии скобок в исходном произведении слагаемое [math]\pm x^N[/math] встретится столько раз, сколькими способами можно разбить число [math]N[/math] на различные слагаемые. При этом, если число слагаемых четно, то появляется [math]x^N[/math] , а если это число нечетно, то появляется [math]-x^N[/math] . Например, разбиению [math]12=5+4+2+1[/math] соответствует слагаемое [math](-x^5)(-x^4)(-x^2)(-x^1)=x^<12>,[/math] а разбиению [math]12=5+4+3[/math] — слагаемое [math](-x^5)(-x^4)(-x^3)=-x^<12>[/math] . Таким образом, коэффициент при [math]x^N[/math] в разложении [math]A[/math] в ряд равен разности между количеством разбиений [math]N[/math] на четное число различных слагаемых и количеством разбиений [math]N[/math] на нечетное число различных слагаемых. Тогда теорему можно переформулировать следующим образом:

Иными словами, если [math]q[/math] четно, то на одно больше разбиений на четное число слагаемых, а если [math]q[/math] нечетно, то на одно больше разбиений на нечетное число слагаемых. Докажем эту теорему с помощью диаграмм Юнга [3] . Покажем несколько способов превращения диаграммы с четным числом строк диаграмму из стольких же точек с нечетным числом строк и обратно.

Так как мы рассматриваем лишь разбиения на различные слагаемые, то диаграммы таких разбиений состоят из нескольких трапеций, поставленных друг на друга. Обозначим число точек в верхней строке диаграммы через [math]m[/math] , а число строк нижней трапеции через [math]n[/math] (на рис. 1 слева изображена диаграмма, для которой [math]m=2[/math] , [math]n=3[/math] ).

Преобразование 1. Предположим, что диаграмма содержит не менее двух трапеций, причем [math]m \leqslant n[/math] . В этом случае отбросим первую строку из [math]m[/math] точек, но удлиним последние [math]m[/math] строк нижней трапеции на одну точку (рис. 1). После этого общее число точек не изменится, все строки окажутся различной длины, но четность числа строк изменится.

Точно такое же преобразование можно сделать, если диаграмма состоит из одной трапеции, но [math]n \geqslant m+1[/math] . Стираем верхнюю строку и к нижним [math]n-1[/math] строчкам приписываем [math]m[/math] точек.

Преобразование 2.Пусть теперь диаграмма опять содержит не менее двух трапеций, но [math]m \gt n[/math] . Тогда от каждой строки последней трапеции возьмем по одной точке и составим из них первую строку (из [math] n [/math] точек) новой диаграммы. Это можно сделать, так как [math]m \gt n[/math] , и поэтому составленная строка короче первой строки исходной диаграммы. Кроме того, так как мы взяли все строки будут иметь различную длину. Наконец, новая диаграмма содержит столько же точек, что и исходная, но четность числа строк изменилась — новая диаграмма содержит еще одну строку.

Преобразование 2 допускают и диаграммы, состоящие из одной трапеции, если [math]n \leqslant m — 2[/math] (появляющаяся первая строка состоит из [math]n[/math] точек, она должна быть короче бывшей первой строки, уменьшившейся до [math]m-1[/math] точки).

Легко видеть, что описанные преобразования взаимно обратны — если сначала сделать одно из них, а потом второе, то снова получим исходную диаграмму. Кроме того, для каждой диаграммы может быть допустимо лишь одно из этих преобразований. Таким образом, диаграммы разбиений числа [math]N[/math] , допускающие одно из этих преобразований, распадаются на пары диаграмм с четным и нечетным числом строк, поэтому их одинаковое число.

Осталось выяснить, какие же диаграммы не допускают ни одного из описанных преобразований. Ясно, что эти диаграммы состоят из одной трапеции, причем для них либо [math]m=n[/math] , либо [math]m=n+1[/math] . В первом случае диаграмма содержит

точек, а во втором — на [math]n[/math] точек больше, т.е. [math]\frac<3n^2+n><2>[/math] .

Приведенные рассуждения показывают, что если [math]N[/math] не является числом вида [math]\frac<3n^2 \pm n><2>[/math] , то оно имеет поровну разбиений на четное и нечетное число различных слагаемых.

Очевидно также, что равенства [math]N=\frac<3n^2+n><2>[/math] и [math]N=\frac<3l^2-l><2>[/math] одновременно выполняться не могут, поэтому если [math]N=\frac<3n^2\pm n><2>[/math] , то без пары останется ровно одна диаграмма, не допускающая преобразования и имеющая [math]n[/math] строк (слагаемых [math]N[/math] ). Если [math]n[/math] — четное число, то разбиений на четное число слагаемых окажется на [math]1[/math] больше, чем на нечетное число слагаемых. Если же [math]n[/math] — нечетное число, то на [math]1[/math] больше будет разбиений на нечетное число слагаемых. Теорема доказана.

Теорема (Переформулировка пентагональной теоремы):
[math]\triangleleft[/math]

Умножим обе части равенства [math](1)[/math] на [math]\prod\limits_^\infty \left(1-x^k \right) [/math] и воспользуемся пентагональной теоремой:

[math] ( p(0) + p(1) x + p(2) x^2 + \dots)(1 — x — x^2 + x^5 + x^7 — x^ <12>— x^ <15>+ \dots) = 1 [/math] [math](2)[/math]

Начнем раскрывать скобки, для наглядности мономы с одинаковыми степенями [math]x[/math] пишем друг под другом:

[math] p(0) + p(1)x + p(2) x^2 + p(3) x^3 + p(4) x^4 + p(5) x^5 + p(6) x^6 + \dots [/math] [math] — p(0)x — p(1) x^2 — p(2) x^3 — p(3) x^4 — p(4) x^5 — p(5) x^6 — \dots [/math] [math] — p(0) x^2 — p(1) x^3 — p(2) x^4 — p(3) x^5 — p(4) x^6 — \dots [/math] [math]+ p(0) x^5 + p(1) x^6 + \dots [/math]

Так как [math]p(0) = 1[/math] , то оно сокращается с единицей справа. Так что, чтобы выражение [math](2)[/math] было удовлетворено при любом [math]x[/math] , все коэффициенты должны быть равны [math]0[/math] . Поэтому:

[math] p(1) = p(0) [/math] [math] p(2) = p(1) + p(0) [/math] [math] p(3) = p(2) + p(1) [/math] [math] p(4) = p(3) + p(2) [/math] [math] p(5) = p(4) + p(3) — p(0) [/math] [math]. [/math]

Получаем формулу Эйлера, позволяющую последовательно находить числа [math]p(n)[/math] :

[math] p(n) = p(n-1) + p(n-2)+ . + (-1)^ (p\left(n — \frac<3q^2 - q><2>\right) + p\left(n — \frac<3q^2 + q><2>\right)) [/math] .

Асимптотика [math] O(n \sqrt) [/math] получается следующим образом. Так как [math] n — \frac<3q^2 + q> <2>\geqslant 0 [/math] , то получаем [math] q [/math] порядка [math] \sqrt [/math] , а так как находим [math]n[/math] -е число, то получаем [math] O(n \sqrt) [/math] .

Источник

Две специальные модели разбиения чисел

Два специальных разбиения натурального числа N могут быть использованы при построении алгоритма факторизации. В предшествующих постах об этом шла речь и автору были заданы вопросы.В работах о факторизации оговаривалось, что при рассматриваемом подходе появляется принципиальная возможность решать задачу факторизации больших чисел (ЗФБЧ) за малое время при наличии программы, генерирующей специальные разбиения. В этой работе автор раскрывает более подробно специфику специальности разбиений. Поскольку участники сообщества Хабра в своем большинстве являются программистами, то предлагаю тому, кто проявит интерес к ЗФБЧ, решаемой за приемлемое время (не годами, не месяцам, и даже не десятками часов), попробовать свои силы и приложить умения к разработке программы генератора спцразбиений. Разбивать как следует из текста ниже необходимо ф-инвариант числа N, свойство, не зависящее от разрядности числа, либо само число N. В комментариях приводится таблица всех разбиений числа 13, среди которых только 4 являются специальными, к факторизации приводит любое из трех первых специальных разбиений.

Задача о разбиении натурального числа
Разбиением натурального числа N называется конечная невозрастающая последовательность натуральных чисел k0, k1, k2, k3,…,kt, меньших N, для которой сумма k0+k1+k2+k3+,…,+kt = N, числа ki, i = 0(1)t, называются блоками (частями) разбиения. Разбиения чисел бывают упорядоченными и неупорядоченными. Существуют разбиения чисел [1, 2] на нечетные и отдельно на четные части, разбиения чисел на одинаковые и различные части и т.п. Для наших целей будем использовать графическое представление разбиений чисел на разные части с ограничением на различие (∆ = 1) одной части разбиения от другой, для чего воспользуемся точечным графом Феррера.
В задаче разбиения числа N, связываемой с задачей факторизации чисел, имеют дело с двумя специальными случаями разбиений не самого числа N, а его ф-инварианта, числа kп(N)/2, т. е. половины номера предельного контура для N. Кроме того, будем различать разбиения числа kп(N)/2, соответствующие целым и дробным числам, а также соответствующие левым (Nл) и правым (Nп) нечетным натуральным числам. Графическое представление множества разбиений разбиений чисел kп(N)/2 имеет вид трапеции как составной части треугольной точечной диаграммы Феррера, образованной из ее подряд следующих строк. Одно из оснований трапеции (верхнее или нижнее) всегда включает только половину своих точек. Основная специализация рассматриваемых здесь двух типов разбиений заключается в том, что отличие частей разбиения числа одной от другой составляет лишь единицу ∆ = 1, и только крайние части (строки, являющиеся основаниями трапеции графического представления) разбиения числа могут отличаться от соседних на величину большую, чем единица. Крайняя строка (верхняя — для Nл, нижняя — для Nп) всегда разбивается пополам. Дополнительно о слагаемых в разбиениях можно прочитать (Здесь). Если разбиваемая пополам строка содержит четное число точек, то все части разбиения числа N – целые числа, если число точек в такой строке нечетное, то крайняя часть разбиения и само kп(N)/2 – дробное число. Отметим также некоторые другие особенности этих специальных разбиений. Эти особенности легко и наглядно воспринимаются при рассмотрении числовых примеров, которые в сущности и являются основным содержанием работы.

Во-первых, для Nп (правого числа) представление kп(N)/2 разбиением всегда формируется только разными слагаемыми, причем от меньшего контура в сумму включается только половина его номера.
Во-вторых, для Nл (левого числа) представление половины номера предельного контура (числа kп(N)/2) разбиением всегда сформировано различными частями, если kп(N)/2 – дробное число.
В-третьих, для Nл, если kп(N)/2 – целое, то два слагаемых в сумме могут совпадать, причем, одно слагаемое из такой пары – это половина номера большего контура в сумме. Поясним эти понятия числовым примером.

Пример 1. Задано левое нечетное число Nл = 119, так как 119 = 3(mod4). Предельный контур для этого числа имеет длину 119 + 121 = 240. Номер предельного контура kп(119) = 240/8 = 30. Ф-инвариант для числа 119 равен kп(119)/2 = 30/2 = 15. Разбиение ф-инварианта для числа N имеет вид 15 = 3 + 4 + 5 + 6/2 = 3+4+5+3. В итоговой сумме получились два одинаковых слагаемых, равных тройке. Чтобы убедиться, что разбиение ф-инварианта приводит к факторизации числа N = 119, восстановим N по разбиению, все слагаемые которого – это номера контуров. Умножаем слагаемые на 8:
3•8 + 4•8 + 5•8 + 6•8 = 24 + 32 + 40 + 48.
Последнее (большее) слагаемое должно давать в сумму только свой левый полуконтур 23 + 25 = 48, т.е. 23. Итак, устанавливаем длину интервала для Nл = 119 (проверяем) 24 + 32 + 40 + 23 = 119.
Остается вспомнить, что границами контуров и полуконтуров в НРЧ всегда являются квадраты и получить их значения у крайних слагаемых интервала:
меньшая граница Гм(3) для контура с номером 3, Гм(3) = (2•3-1) 2 = 25 = 5 2 ;
большая граница интервала Гб(6) для контура с номером 6, Гб = Гц(6) = (2•6) 2 = 144 = 12 2 – правая граница левого полуконтура шестого контура.
Последний штрих: N представляем разностью квадратов, т.е. разностью границ интервала
N = 12 2 – 5 2 = (12 – 5)(12 + 5) = 7•17 = 119 и получаем разложение на множители.

Натуральные нечетные числа N(x1, xо) = 3t кратные трем всегда формируются только тремя смежными полуконтурами, два из которых – целый контур. Для таких чисел нумерационная модель совсем простая. Находим k — номер полного контура для числа N.
Для левых нечетных чисел
kп(N)/2 = (k + 1)/2 + k => kп(N) = 3k + 1 => k = (kп(N) – 1)/3.
Для правых нечетных чисел
kп(N)/2 = (k –1)/2 + k => kп(N) = 3k — 1 => k = (kп(N) + 1)/3.
Пример 2. Задано правое нечетное число Nп = 129, так как 129 = 1(mod4). Предельный контур для этого числа имеет длину 127 + 129 = 256. Номер предельного контура kп(129) = 256/8 = 32. Ф-инвариант для числа 129 равен kп(129)/2 = 32/2 = 16. Подставляем в формулу найденные значения k = (32 + 1)/3 = 11. Это номер большего контура из двух полуконтуров 43 + 45 = 88 = 11•8. Для формирования интервала включаем в сумму полуконтур из предшествующего контура с номером 11-1 = 10, т.е. М = 4k +1 = 41.
И окончательно, сумма полуконтуров 41+ 43 + 45 = 129. Остается найти границы интервала и выполнить факторизацию числа N = 129.

Все слагаемые в сумме разбиений, кроме одного крайнего слагаемого, всегда различаются на единицу, т. е. это числа ki, следующие в натуральном ряде одно за другим kп(N)/2 = ∑ t i=pki ± k/2,
где р – индекс номера целого начального (меньшего) контура;
t – индекс номера целого конечного (большего) контура;
± – знак в сумме определяется видом (левое k > kt, правое k 2 k+1 – kп /2 начинаем от значения С 2 k+1 > kп /2, а вычисленную разность сравниваем с k 2 /2, до тех пор, пока они не совпадут. При несовпадении увеличиваем значение k.

Пример 3. Для правого числа N(x1, xо) = 621 выполнить факторизацию, определить значение длины предельного контура чисел kп(Nп) = kп(621) = (621–1)/4 = (619 + 621)/8 = 155. Затем определяем значение kп(621)/2 = 77,5 и находим значение разности С 2 k+1 – kп /2, ближнюю к началу НРЧ. В столбце С 2 k+1 таблицы 1 находим при k = 12 значение 78, превышающее kп(621)/2 = 77,5.
Тогда искомая разность С 2 k+1 – kп /2 = 78 – 77,5 = 0,5. Проверяем, совпадает ли найденная разность со значением k 2 /2 при некотором значении k. Совпадение имеет место со значением 0,5 в нижней строке таблицы.
Отсюда определяется номер меньшего контура kп 2 /2 = 0,5 => k = 1, формируемого интервала. Интервал, представляющий число N = 621, начинается точкой среднего квадрата (четной) первого контура и доходит до 12-го контура включительно. Известно, что через значения границ длина интервала для числа N представляется выражением N = Гп – Гл = х1i 2 – хоi 2 . Зная номера контуров на границах интервала, находим его граничные точки. Границами интервала будут:
• левая граница при k = 1, Гл = (2k) 2 = (2•1) 2 = 4,
• правая при k = 12 есть Гп = (2k + 1) 2 = (2•12 + 1) 2 = 625.
Тогда N = Гп – Гл = х1i 2 – хоi 2 = 625 – 4 = 621. С другой стороны, при наличии границ-квадратов легко выполняется факторизация числа N = х1i 2 – хоi 2 = (25 + 2)(25 – 2) = 27•23.

Рассмотренная в примере схема решения задачи факторизации обеспечивает нахождение и других альтернативных пар границ. Поиск разности С 2 k+1 – kп /2, совпадающей с k 2 /2 приводит к получению такого совпадения при большем k = 19. Имеем равенство С 2 k+1 – kп /2 = 190 – 77,5 = 112,5 из которого находим меньшее, т.е. k = √2×112.5 = √225 = 15. Теперь можно приступить к поиску границ интервала и факторизации N.
Границами интервала будут:
• левая граница при k =15, Гл = (2k) 2 = (2•15) 2 = 900,
• правая при k = 19 есть Гп = (2k + 1) 2 = (2•19 + 1) 2 = 392 = 1521,
• N = Гп – Гл = х1i 2 – хоi 2 = 1521 – 900 = 621 и
• N = х1i 2 – хоi 2 = (39 + 30)(39 – 30) = 69•9.

Пример 4. ( Разбиение левого числа, где половина номера (не целое число) в сумму берется от большего контура).
Пусть задано число N = 235, число N = 235 ≡ 3(mod4) левое.
Длина предельного контура Ln = 235 + 237 = 472, его номер kп = L/8 = 472/8 = 59, kп /2 = 29.5, значения границ предельного контура: правая Гп = (2kп) 2 = 118 2 , левая Гл = (2kп –1) 2 = 117 2 им соответствует тривиальное разложение числа N = 235∙1.
Из нумерационной модели следует, что kп/2 = 29.5. Для N = 235 (см. пример ранее) kп(235)/2 = 29.5
Ближайшее значение в столбце k 2 /2 = 40.5 лежит в строке k = 9.
Ему соответствует разность k 2 /2 – kп/2 = 40.5 – 29.5 = 11, которая отсутствует в столбце «сумма».
Следующий уровень k = 11 и k 2 /2 = 60.5, ему соответствует разность k 2 /2 – kп/2 = 60.5 – 29.5 = 31, которая также отсутствует в столбце «сумма». Следующий уровень k = 13 и k 2 /2 = 84.5, ему соответствует разность
k 2 /2 – kп/2 = 84.5 – 29.5 = 55, которая присутствует в столбце «сумма» в строке с номером k = 10.
Отсюда следует вывод о том, что все строки, начиная с номера 10 и ниже, не включаются в сумму kп/2. Следовательно, kп/2 = 29.5 = 11+ 12 + 13/2.
Выполним факторизацию заданного числа. Найдены номера контуров, образующие нумерационную модель числа: k = 11, 12 и 13. От k = 13 в формулу входит лишь левая половина этого контура.
Вычислим длины контуров L(11) = 8•11 = 88; L(12) = 8•12 = 96; L(13) = 8•13 = 104; левая половина 13-го контура m(13) = 104/2 –1 = 51. Интервальная модель 88 + 96 + 51 = 43+45+47+49+51 = 235.
Определим границы интервальной модели:
• Гп(13) = (2•13) 2 = 26 2 = 676;
• Гл(11) = (2•11–1) 2 = 21 2 = 441.
Теперь число N = 235 можно факторизовать
N(x1, xо) = 235 = (x1 + xо)(x1 – xо) = (26+21)(26–21) = 47•5 = 235.
Пример 5. (Разбиение правого числа, где половина номера (не целое число) в сумму берется от меньшего контура).
Пусть N = 357 Это правое число N = 357 ≡ 1(mod4).Длина предельного контура Ln = 357 + 355 = 712, его номер kп = L/8 =712/8 = 89, kп/2 =44.5, границы предельного контура:
• левая Гл = (2kп –1) 2 = 177 2 ,
• средняя Гц = (2kп ) 2 = 178 2 ,
• правая Гп = (2kп + 1) 2 = 179 2 им соответствует тривиальное разложение числа N = 357∙1.
а ) х1 = 19; хо = 2; N = Гп (2∙58) – Гл (58∙2 – 1) = х1i 2 – хоi 2 = 19 2 – 2 2 = 361 – 4 =(19 + 2)∙(19 – 2) = 21∙17 = 357, kп/2 = ½ + 2 + 3 + 4 +5 + 6 + 7 + 8 + 9 = 44.5
б ) х1 = 61; хо =58; N = Гп (2∙58) – Гл (58∙2 – 1) = х1i 2 – хоi 2 = 61 2 – 58 2 = 3721 – 3364 = (61 + 58)∙(61 – 58) = 119∙3 = 357; kп/2 = 29/2 + 30 = 44.5.
Длина произвольных контура и интервала натурального ряда чисел между нечетными квадратами кратна числу 8. Вычет нечетного квадрата по mod 8 равен 1. Разность значений квадратов нечетных простых чисел ≥ 5 всегда кратна 24 (7 2 – 5 2 = 24). Это можно показать следующим образом. Рассмотрим квадраты двух нечетных простых чисел, а затем найдем их разность. Из трех смежных чисел 2n – 1, 2n, 2n + 1 одно всегда кратно трем. В нашем случае – это число n=3t, так как крайние числа простые по условию.
• Нч1 2 = (2n – 1) 2 = 4n 2 – 4n + 1 = 1 + 4n(n – 1) = 1 + 8 Cп 2 ,
• Нч2 2 = (2n + 1) 2 = 4n 2 + 4n + 1 = 1 + 4n(n + 1) = 1 + 8 С 2 n+1,
• Нч2 2 – Нч1 2 = 8( С 2 n+1 – Cп 2 )= 4n(n + 1 – n + 1) = 8n = 8·3t =24t.
Если число N кратно 3, оно в интервальной модели образовано тремя полуконтурами, стоящими рядом. Другими словами, если число правое, то полуконтур от меньшего контура. Для N = 357 = 119•3, kп/2 = 44.5. Значение номера полуконтура определяется формулой (kп/2 –1)/3 = (44/5 – 1)/3 = 14.5. Следовательно, номер меньшего контура 14.5•2 = 29, а номер следующего 30. Действительно, 29/2 +30 = 44.5 = kп/2. Если число N кратно 5 (образовано пятью полуконтурами), то номер (kп/2 – 6)/5.

Пример 6. (Взаимосвязь характеристик интервальной и нумерационной моделей числа кратного трем)
Для левого числа N(x1, xо) = 183 и правого числа N(x1, xо) = 189 выполнить факторизацию, определить номер и длину предельного контура чисел kп(Nл) = kп(183) = (183 + 185)/8 = 46, и kп(Nп) = kп(189) = (187 + 189)/8 = 47. Далее составим уравнение для номера предельного полуконтура в нумерационной модели kп(183)/2 = (k + 1)/2 + k, откуда kп = 3k + 1 и k = (kп – 1)/3 = 45/3 = 15.
• Большая граница интервала для N = 183 правая четная Гц(16) = (2·16) 2 = 32 2 = 1024
• меньшая левая граница Гл(15) = (2•15 – 1) 2 = 29 2 = 841.
Факторизация числа N = 183 = 32 2 – 29 2 = (32 + 29)(32 – 29) = 61•3.
Связь правых чисел вида Nп(x1, xо) = 3t с суммой номеров контуров интервальной модели следующая:
половина номера контура плюс номер следующего контура интервала равны половине номера предельного контура kп(Nп)/2 исследуемого числа.
Для правого числа N(x1, xо) =189 значение предельного полуконтура kп(189)/2 = (k–1)/2+k,
откуда kп = 47 = 3k – 1 и k = (kп + 1)/3 = 48/3 = 16. Меньшая граница интервала для N = 189 левая четная лежит в 15 контуре Гц(15) = (2•15) 2 = 30 2 = 900 и Гп(16) = (2•16 + 1) 2 = 33 2 = 1089.
Факторизация числа N = 189 = (33 + 30)(33 – 30) = 63•3
Аналогичные расчеты могут быть выполнены для чисел левых и правых кратных 5, 7, 9 и т.д.

Список использованных источников
[1] Холл М. Комбинаторика. -М.: Мир, 1970. — 424 с.
[2] Эндрюс Г. Теория разбиений. -М.: Наука ГРФМЛ,1982. — 256 с.

Источник

Читайте также:  Pure vitamin c10 la roche posay способ применения
Оцените статью
Разные способы