Непонятно.
Ну это в среднем. Я немного накосячил с оценкой худшего случая. Прочитайте вот это, пожалуйста. Сейчас напишу алгоритм, который его считает, а он, как я проверил, показывает возрастание количества белых столбиков с ростом

.
Пусть

все рассматриваемые простые числа. Будем оценивать худший случай для каждой строки, начиная с нижней.
Для этого допустим, что мы на строке

. Строки под ней образуют подтаблицу, последовательность столбцов которой повторяется раз в

. Посчитаем количество таких промежутков:

.
Далее посчитаем, сколько белых столбцов на каждом промежутке (худший случай). Мы знаем общее количество белых столбцов на

шаге. Оно равно

.
Давайте будем считать так. Для шагов

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

для

и

для остальных. Это не повлияет на оценку.
Далее заметим, что мы можем "закрыть" максимум столбцов на

ом шаге, если на первом и втором промежутке закроем по два столбца (это самый худший случай). Если мы на первом и втором промежутке закрываем по два столбца, то следующие два столбца мы можем "закрыть" только через

интервала (ну понятно, потому что последовательность столбцов в каждом интервале одинкова, а меняется только значения

ой строки, а они повторяются раз в

интервалов). Поэтому легко составляем формулу для оценки оставшихся белых столбцов на

ом шаге:

На самом первом шаге

Вот код:
https://pastebin.com/4sfXdDBXЕсли запустить, то с ростом

растет и количество белых столбцов.
У меня получилась вот такая оценка этой функции:
https://www.desmos.com/calculator/0kn1nikdkf .Я здесь начал сразу с шага, где

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

сумма ряда обратных праймориалов, а

- примерная доля белых столбцов для

. Вроде получилось очень даже ничего.
Как вам?
