Interested Article - Решето Сундарама

Решето Сундара́ма детерминированный алгоритм нахождения всех простых чисел до некоторого целого числа n {\displaystyle n} . Разработан индийским студентом Сундарамом в 1934 году.

Пошаговая демонстрация работы алгоритма для N = 100 {\displaystyle N=100}

Алгоритм предусматривает исключение из ряда натуральных чисел от 1 до N {\displaystyle N} всех чисел вида:

i + j + 2 i j {\displaystyle i+j+2ij} ,

где индексы i j {\displaystyle i\leqslant j} пробегают все натуральные значения, для которых i + j + 2 i j N {\displaystyle i+j+2ij\leqslant N} , а именно значения i = 1 , 2 , , 2 N + 1 1 2 {\displaystyle i=1,\;2,\;\ldots ,\;\left\lfloor {\frac {{\sqrt {2N+1}}-1}{2}}\right\rfloor } и j = i , i + 1 , , N i 2 i + 1 . {\displaystyle j=i,\;i+1,\;\ldots ,\;\left\lfloor {\frac {N-i}{2i+1}}\right\rfloor .} Затем каждое из оставшихся чисел умножается на 2 и увеличивается на 1. Полученная в результате последовательность представляет собой все простые числа в отрезке [ 1 , 2 N + 1 ] {\displaystyle [1,2N+1]} .

Обоснование

Алгоритм работает с нечётными натуральными числами большими единицы, представленными в виде 2 m + 1 {\displaystyle 2m+1} , где m {\displaystyle m} является натуральным числом.

Если число 2 m + 1 {\displaystyle 2m+1} является составным , то по определению оно может быть представлено в виде произведения двух нечётных чисел, больших единицы, то есть:

2 m + 1 = ( 2 i + 1 ) ( 2 j + 1 ) {\displaystyle 2m+1=(2i+1)(2j+1)} , где i {\displaystyle i} и j {\displaystyle j} — натуральные числа. Раскрывая скобки, получаем, что
2 m + 1 = 4 i j + 2 i + 2 j + 1 {\displaystyle 2m+1=4ij+2i+2j+1} , или
2 m = 4 i j + 2 i + 2 j {\displaystyle 2m=4ij+2i+2j} , из чего следует, что
m = 2 i j + i + j {\displaystyle m=2ij+i+j} .

Таким образом, если из ряда натуральных чисел исключить все числа вида 2 i j + i + j {\displaystyle 2ij+i+j} ( 1 i j {\displaystyle 1\leqslant i\leqslant j} ), то для каждого из оставшихся чисел m {\displaystyle m} число 2 m + 1 {\displaystyle 2m+1} обязано быть простым. И, наоборот, если число 2 m + 1 {\displaystyle 2m+1} является простым, то число m {\displaystyle m} невозможно представить в виде 2 i j + i + j {\displaystyle 2ij+i+j} и, таким образом, m {\displaystyle m} не будет исключено в процессе работы алгоритма.

См. также

Ссылки

  • Б. А. Кордемский. . — М. : ГИФМЛ, 1958.
  • Baxter, Andrew. . Topics from the History of Cryptography. MU Department of Mathematics.

Same as Решето Сундарама