Поиск простых чисел - Отсев чётных чисел
Задача
Допустим нам известно простое число 31. Необходимо найти следующее число.
Этап №1 – поиск простых делителей
Первое нечётное число: 3. Поэтому делим

и отбираем простые числа от 3 до 10. Это 3, 5, 7.
Этап №2 – вычисление остатка
Делитель №1)

, остаток - 1
Делитель №2)

, остаток - 1
Делитель №3)

, остаток - 3
Этап №3 – отсев чётных чисел
Например, размер шага равен 10, то есть ищем от 32 до 41.
У делителя №1 - 3, остаток – 1,

. Зачёркиваем номера из 10ка начиная с двойки: 2, 5, 8, новый остаток –

. Оставшиеся чётные числа: 4, 6, 10.
У делителя №2 - 5, остаток - 1,

. Зачёркиваем номера из 10ка начиная с четвёрки: 4, 9, остаток –

. Оставшиеся чётные числа: 6, 10.
У делителя №3 - 7, остаток - 3,

. Зачёркиваем номера из 10ка начиная с четвёрки: 4, новый остаток –

. Оставшиеся чётные числа: 6, 10.
Проверка
Осталось два чётных числа: 6 и 10.
1)

. Поскольку число увеличилось, то количество простых делителей так же могло увеличиться.

. Ищем от 11 до 12. Это 11. Проверяем

, остаток – 4. Значит 37 - первое простое число!
2)

.

. 13 – простое число. Проверяем

, остаток – 2. 41 - второе простое число!
Найдено два простых числа: 37, 41.
ЗАДАЧА РЕШЕНА!
Итог
Чтобы продолжить поиск надо суммировать 31 и размер шага:

– новая точка отсчёта. И повторить этап №3, добавив два новых делителя 11, 13.
Преимущество данного метода в том, что найденное простое число не нуждается в проверке поскольку, при его поиске использовались все возможные делители. К тому же легко перейти к поиску следующего числа.
4 января 2018 г.