vpbНу в общем с двумя множествами способ очевидно работает (после некоторых мелких доработок).
Засада что я не могу разбить интересующий диапазон всего на два множества, они получаются длиной порядка

элементов, столько ни вычислить, ни сохранить, ни отсортировать, ни перебрать. В принципе они все и не нужны, хватило бы и наименьших

, но как их получить без вычисления всех

мне непонятно (вопрос в частности как раз об этом). Рекурсивно спуститься не получится, они не равны суммам, там произведения.
Если б побить исходные

хотя бы на пять множеств по

элементов, то вот их уже можно и отсортировать и потом перебрать,
но количество вариантов сумм кардинально увеличивается: для двух множеств вариантов всего два (оба элемента в начале каждого множества и элементы в разных концах множеств), для трёх уже больше десятка (вроде бы, даже не выписал ещё все), и т.д. (UPD. Глупость написал, всё проще.) Наверное можно их все аккуратно выписать и закодировать, и если это делать автоматически, а не руками, то должно получиться.
Спасибо за идею, буду думать как автоматизировать процесс.
Но конечно желалось более прямого и простого пути. Ведь праймориал

, а значит зная все остатки/вычеты по простым до

можно узнать и список допустимых чисел до

и в нём будет хотя бы относительно мало чисел меньше скажем

и уже их можно более-менее быстро перебрать. Вопрос как их получить не вычисляя все допустимые

(для одной из задач) во всём праймориале. А если учесть ещё и допустимые остатки по следующей сотне тысяч простых, то можно сразу более-менее вероятно гарантировать простоту допустимых чисел не проверяя их каждое на простоту.