На самом деле, если
, то вектор состоит из одного элемента -
. Вследствие взаимной простоты единицы с самой собой (хотя это даже не нужно проверять, поскольку алгоритм так устроен) мы увеличиваем ее сначала на
, а потом на
, получая "вектор"
. Так что в принципе это работает всегда, для любого
. Но это слишком необычный случай, поэтому далее рассматриваются только нечетные
.
Ну по сути надо доказать следующее: применение указанной операции к паре
дважды (с перестановкой в процессе) дает
. Потому что каждая пара вовлекается в процесс независимо от других.
Заметим, что если сумма двух натуральных чисел равна простому, то они взаимно просты (их общий множитель является и множителем
, а поскольку они оба по построению меньше
, то этот множитель может быть равен только
). Значит
, и первое применение операции даст
. Сумма этих двух чисел равна
, и если она проста, то после второго применения операции получим
, что и требовалось доказать.
Если
составное, пусть его наименьший простой делитель
(очевидно, он нечетен). Тогда если если среди
последовательных чисел
найдется хотя бы одно (а на самом-то деле два) числа с этим делителем, тогда "на выходе" мы будем иметь пару
.
Чтобы этого избежать, нужно, чтобы (во всяком случае) чисел было
, откуда
. То есть, если
- фиксировано, то количество только возможных натуральных кандидатов на
сильно ограничено, а мы же еще накладываем условия: а) простоты
, б) составности
, в) взаимной простоты
и
для всех
.
В частности, для
необходимое условие
, двойку мы выбросили из рассмотрения, а тройка дает простую пару
, то есть не годится. А для больших
можно приблизительно оценивать
.