Если не было ограничения на размер номера (100 000 или меньше), то ваша проблема не гарантированно найдет решение: см. слабую гипотезу Гольдбаха .
Однако, скорее всего, это правда, по крайней мере, для чисел в диапазоне результатов вычислений ... вы уверены, что ваша проблема не состоит в том, чтобы выразить любое число суммой в большинстве четырех простых?
Поскольку 2,3,5,7,11,13,17,19,23 предлагают множество возможностей, я бы вычислил числа, которые выражаются как сумма 3 из этих чисел. (например, 2 + 3 + 5 = 10, 2 + 3 + 7 = 2 + 5 + 7 = 12, 3 + 5 + 7 = 15, 2 + 3 + 11 = 16, 2 + 5 + 11 = 18, 3+ 5 + 11 = 19, 2 + 7 + 11 = 20, ... 17 + 19 + 23 = 59.)
Затем возьмите произвольное число N, найдите ближайшее ближайшее к нему простое число, которое отличается от N одной из предварительно вычисленных сумм из 3 небольших простых чисел. Если вы не нашли решения, попробуйте следующий ближайший штрих до N-59. Если это все еще не работает, начните добавлять другие маленькие простые числа.
Используйте знания о пробелах простых чисел , чтобы ограничить ваше решение ... самый большой пробел для простых чисел ниже 155921 (больше 100 000) равен 86.
p.s. Ваше Сито Эратосфена не должно занимать 2 секунды для N = 100 000. Вам нужно только проверить делители до квадратного корня 100 000 = 316.