renovations
This commit is contained in:
parent
4b8b168fd2
commit
c7d4c7e3ff
172 changed files with 869 additions and 244 deletions
|
@ -0,0 +1,40 @@
|
|||
Их сумма равна `1060`.
|
||||
|
||||
```js
|
||||
//+ run
|
||||
// шаг 1
|
||||
var arr = [];
|
||||
|
||||
for (var i=2; i<100; i++) {
|
||||
arr[i] = true
|
||||
}
|
||||
|
||||
// шаг 2
|
||||
var p = 2;
|
||||
|
||||
do {
|
||||
// шаг 3
|
||||
for (i=2*p; i<100; i+=p) {
|
||||
arr[i] = false;
|
||||
}
|
||||
|
||||
// шаг 4
|
||||
for (i=p+1; i<100; i++) {
|
||||
if (arr[i]) break;
|
||||
}
|
||||
|
||||
p = i;
|
||||
} while (p*p < 100); // шаг 5
|
||||
|
||||
// шаг 6 (готово)
|
||||
// посчитать сумму
|
||||
var sum = 0;
|
||||
for (i=0; i<arr.length; i++) {
|
||||
if (arr[i]) {
|
||||
sum += i;
|
||||
}
|
||||
}
|
||||
|
||||
alert(sum);
|
||||
```
|
||||
|
25
1-js/4-data-structures/7-array/9-eratosthenes-sieve/task.md
Normal file
25
1-js/4-data-structures/7-array/9-eratosthenes-sieve/task.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Решето Эратосфена
|
||||
|
||||
[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> < n</code>.</li>
|
||||
<li>Все оставшиеся незачеркнутыми числа -- простые.</li>
|
||||
</ol>
|
||||
|
||||
Посмотрите также <a href="/files/tutorial/intro/array/sieve.gif">анимацию алгоритма</a>.
|
||||
|
||||
Реализуйте "Решето Эратосфена" в JavaScript, используя массив.
|
||||
|
||||
Найдите все простые числа до `100` и выведите их сумму.
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue