Мне кажется, заархивировать компактно можно, если записывать, чем следующее число отличается от другого, тогда, учитывая четность разницы можно быстро поскладывать и прийти к любому числу, не занимая много места в архиве.
Вроде в радиотехнике и информатике этот метод давно известен, забыл. как называется.
Записывать разности, делённые пополам? В этом что-то есть, но чем дальше число от начала, тем дольше его получать.
Метод такой работает, и хорошо. Я его использовал в 2002г. для

я наделфил прогу без использовани арифметики длинных чисел. Весь массив разностей занял 270 мегабайт. Здесь работает то, что средняя разность простых растет как

для N топик стартера это грубо 90 . Где то я строил функцию распределения распределения этих разностей, тоже вселяет надежды. Архивация по моему где то теряет эффективность, возможно, не исследовалю Есть малозатратное расширение (очевидное) - числа

выражать через парное ему простое число

перебором. Ведь длина перебора зависит от средней разности. Степень 30 я надеюсь 100 терабайт хватит. Будете собирать команду
киньте мне на мыло

. С уважением,