en.javascript.info/1-js/4-data-structures/7-array/9-eratosthenes-sieve/task.md
Max Burmagin 82360af92e Update task.md
мелкие правки
2015-07-06 23:15:19 +03:00

25 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Решето Эратосфена
[importance 3]
Целое число, большее `1`, называется *простым*, если оно не делится нацело ни на какое другое, кроме себя и `1`.
Древний алгоритм "Решето Эратосфена" для поиска всех простых чисел до `n` выглядит так:
<ol>
<li>Создать список последовательных чисел от `2` до `n`: `2, 3, 4, ..., n`.</li>
<li>Пусть `p=2`, это первое простое число.</li>
<li>Зачеркнуть все последующие числа в списке с разницей в `p`, т.е. `2*p, 3*p, 4*p` и т.д. В случае `p=2` это будут `4,6,8...`.</li>
<li>Поменять значение `p` на первое не зачеркнутое число после `p`.</li>
<li>Повторить шаги 3-4 пока <code>p<sup>2</sup> &lt; n</code>.</li>
<li>Все оставшиеся не зачеркнутыми числа -- простые.</li>
</ol>
Посмотрите также [анимацию алгоритма](sieve.gif).
Реализуйте "Решето Эратосфена" в JavaScript, используя массив.
Найдите все простые числа до `100` и выведите их сумму.