Некоторые другие методы были предложены, и я думаю, что они хороши, но это действительно зависит от того, сколько вы хотите хранить или вычислять на месте. Например, если вы ищете следующее простое число после очень большого числа, то использование сита Эратосфена может быть не таким уж большим из-за количества битов, которые вам нужно хранить.
В качестве альтернативы, вы можете проверять все нечетные целые числа между (и включая) 3 и sqrt (N) для каждого нечетного числа N, большего, чем входное число, пока не найдете правильное число. Конечно, вы можете прекратить проверку, когда вы обнаружите, что это составное.
Если вам нужен другой метод, то я бы предложил использовать критерий примитивности Миллера-Рабина на всех нечетных числах выше входного числа (при условии, что входное значение> 1), пока не будет найдено простое число. Если вы следите за списком чисел a
, расположенным в нижней части страницы, чтобы проверить заданные диапазоны, вы можете значительно сократить количество a
s, которые необходимо проверить. Конечно, вы можете проверить хотя бы несколько простых чисел (например, 3,5,7,11) перед проверкой у Миллера-Рабина.