Статья Автор: Лебедев Дмитрий Алексеевич

Решето, как способ решения задач по поиску лучшего

Наиболее известным способом нахождения/перебора простых чисел является "Решето Эратосфена".
Описание этого метода можно найти в интернете, здесь попробуем привести программу,
получающую  множество всех простых чисел, не превосходящих заданного числа.
Постановка задачи:
Найти множество всех простых чисел, которые не больше заданного N
Решения вынесены в подпрограммы и частично "оптимизированы"
 



Метод решета можно применять не только для отбора простых чисел, но и для подсчета 
  • количества делителей
  • суммы делителей 
  •  и т.п. (функция Эйлера, ...)
Покажем, как находить число делителей.
Создадим "индексный массив" из единиц (на 1 делиться все) и для числа i будем добавлять +1 во все ячейки, кратные i

Печать