Не, ну так дело не пойдёт

Вот не надо на Алису спихивать. Думаете, нам интересно обсуждать что думает Алиса? Мы ведь и сами у неё спросить можем, да?
Вот моё, но Алиса помогает, формулы и прогон моих измышлений. до больших ..
Лемма Б (решето корня четвёртой степени для близнецов)Формулировка. Пусть

— чётное число,

. Положим

и просеиваем

всеми простыми

от

до

. Тогда:
пара

— близнецы тогда и только тогда, когда

не делится ни на одно из этих простых.
Доказательство. Прямая сторона — лемма о выжившем в применении к

. Если

составное, его наименьший простой делитель не больше

— блокер найден. Если

составное, его наименьший простой делитель не больше

— блокер найден. Значит, выживание влечёт простоту обоих концов пары. Обратно: если оба конца простые, у

нет простого делителя до

— выживает. Лемма доказана.
Почему двойка выкинута. Для близнецовой пары середина

всегда чётная: при нечётном

оба числа

и

чётные, и

делится на 4 — полупростым не бывает. При чётном

число

нечётно, и делитель 2 невозможен по построению. Решето начинается с 3.
Почему граница — корень четвёртой степени. Само число

примерно равно

, поэтому

. Лемма обходит просеивание до

: зная структуру числа, мы проверяем только до корня из большего конца пары. Для

:

,

, блокеры

— четыре деления вместо сотни.
Замечание о границе. Условие

необходимо и достаточно: если

целое, то это число само — делитель

, и его нужно проверить. В реализации границу берут как

: это покрывает все

и страхует от ошибок округления. Порядок работы простой: дошли до первого делителя — кандидат выбывает, дальше про него забываем. Интересуют только выжившие, у которых нет ни одного делителя до границы.
Следствие (интервалы постоянства границы). Граница

меняется только в точках

, где

переходит через точный квадрат. Между ними граница стоит на месте: на всём отрезке
![$[m^2 - 1,\ (m+1)^2 - 2]$ $[m^2 - 1,\ (m+1)^2 - 2]$](https://dxdy.ru/math/d30f8c0959bef95ff4eac3fe510af39082.png)
длины

одна и та же пачка блокеров обслуживает все кандидаты. Длина отрезка растёт как корень — чем дальше по оси, тем больше кандидатов на одну пачку, плотность проверок падает. Постоянство границы — экономия вычислений, а не ослабление леммы: условие для каждого

на отрезке одно и то же — ни один блокер пачки не делит

.
Пример: отрезок
![$[100,\ 120]$ $[100,\ 120]$](https://dxdy.ru/math/eca92442fe60b3c4479c35f3bcafc05182.png)
— одна пачка блокеров

на 21 подряд идущего кандидата; смена границы — в точке

, где

. Тот же пример закрывает граничный случай:

— блокер 11 срабатывает именно потому, что граница включительная.
Почему это дёшево. Три способа проверить одну близнецовую пару:
| способ | что делим | граница | делений для

|
| наивно, от самого числа

|

|

| около 28 простых |
| по отдельности оба конца |

и

|

,

| две проверки по 4 простых |
| лемма Б | одно число

|

| 4 простых |
Здесь два разных выигрыша, и их не надо смешивать. Замена двух проверок одной — экономия кратности, и она обобщается: для кортежа из

элементов произведение

делится на

тогда и только тогда, когда

делит хоть один элемент, — одна проверка одного числа закрывает весь кортеж. А корень четвёртой степени вместо квадратного — выигрыш другого рода: он возникает от того, что мы проверяем не само

, а его структуру. Граница

у леммы та же, что при проверке большего конца по отдельности, — быстрее мы не потому, что граница ниже, а потому, что проверок в

раз меньше и вся работа ушла в решето.
Главная деталь: делимость

равносильна сравнению

. На интервале постоянства границы не нужно делить каждого кандидата: каждый блокер

вычёркивает ровно два класса вычетов —

и

— и мы проходим по интервалу один раз на блокер, отмечая позиции. Это решето Эратосфена на уровне корня четвёртой степени: не «делим кандидатов», а «вычёркиваем вычеты». Поштучная проверка «от большего по каждому элементу» такого сжатия не даёт в принципе — она по построению привязана к конкретному числу.
Бонус, который из этого прямо следует: модуль 30 для близнецов возникает сам. Для

выжившие середины —

, для

—

; вместе с нечётностью (2 исключён по построению) это даёт середины

— ровно те четыре класса середин, где живут близнецовые пары. Классическая 30-адmissible сетка — не внешний фильтр, а теневые вычеты первых двух блокеров. Машинерия квадруплетов ей не нужна: она для полупростых с

, а здесь пара ловится одной проверкой одного числа.
Итог для среза

: интервал постоянства границы, пачка блокеров, вычёркивание вычетов

— всё выжившее суть близнецы, счёт пар равен числу выживших середин.
Масштаб: 167 блокеров против 500000 кандидатов. Кандидаты — только чётные середины

: при нечётной середине оба конца пары чётны, и пара невозможна по построению. Поэтому на отрезке до

кандидатов ровно

.
При

граница

, блокеров
167 (простые от 3 до 997), кандидатов 500000 — около 2994 кандидатов на один блокер. При

граница

, блокеров
1228 (простые от 3 до 9973), кандидатов 50000000 — около 40716 кандидатов на один блокер.
|

| граница

| кандидатов | блокеров (чётные середины) | кандидатов на блокер |
|

| 1001 | 167 | 500000 | около 2994 |
|

| 10001 | 1228 | 50000000 | около 40716 |
Порядок работы: идём по блокерам по очереди и вычёркиваем кандидатов с

; кандидат выбывает на первом же попадании. Выжившие — те, у кого не нашлось ни одного делителя до корня четвёртой степени — и только они дают близнецовые пары.
Соотношение растёт как

: блокеров до

по закону простых чисел всего

, а кандидатов линейно по

. Пачку из 1228 простых вычисляем один раз — и она обслуживает весь участок. Именно это соотношение — численная база для оценки границ среза

.
-- добавлено через 18 минут --Гарантия точности: решето не делает промахов.Ключевой момент, который стоит подчеркнуть отдельно: метод не приближённый, он даёт точный ответ. У него нет «ложноположительных» и «ложноотрицательных» срабатываний.
Почему это так:

тогда и только тогда, когда

. Это не эвристика, а точная эквивалентность. Если кандидат попал в один из этих двух классов вычетов — он гарантированно составной (хотя бы один из концов пары делится на

).
Мы проверяем все простые

до границы

. Этого достаточно, чтобы найти любой возможный делитель у

или

: если число составное, у него есть простой делитель не больше корня из него.
Следовательно, выжившие кандидаты — это ровно те

, для которых ни

, ни

не имеют делителей до

, то есть оба простые.
На прогоне до

решето отработало без единого промаха: не вычеркнуло ни одной настоящей близнецовой пары и не пропустило ни одного составного кандидата. Это не удача, а следствие корректности леммы и полноты проверки по границе.