За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
Решето на Ератостен е алгоритъм за намиране на всички прости числа в интервала [1, n], където n е произволно естествено число. Алгоритъмът е кръстен на древногръцкия математик Ератостен, на когото е и приписано изобретяването му.
Идеята на алгоритъма е, че ако намерим просто число n, то всяко n-то след него няма да е просто.
Нека разгледаме списък на числата от 1 до n и започвайки от 2, изпълним следните стъпки:
Накрая всички незадраскани числа, които останат, са прости.
масивът S се попълва със стойности 'да' за всяко i от 2 до n //с оптимизация 2. от долу: от 2 до sqrt(n) ако S[i] е 'да', тогава j = i+i; //с оптимизация 1. от долу: j = i*i; докато j <= n S[j] = 'не'; //"задраскване" j = j + i
След изпълняването на този алгоритъм, всяко число i, за което S[i] има стойност "да", e просто.
Към алгоритъма може да се приложат следните малки оптимизации: