Объясните, пожалуйста. (js)
var arr = [];
for (var i = 2; i < 100; i++) {
arr[i] = true // строка 1
}
var p = 2;
do {
for (i = 2 * p; i < 100; i += p) {
arr[i] = false; // строка 2
}
for (i = p + 1; i < 100; i++) {
if (arr[i]) break;
}
p = i;
} while (p * p < 100);
var sum = 0;
for (i = 0; i < arr.length; i++) {
if (arr[i]) {
sum += i;
}
}
alert( sum );
вот такой код для решения вот такой задачи
Древний алгоритм «Решето Эратосфена» для поиска всех простых чисел до n выглядит так:
Создать список последовательных чисел от 2 до n: 2, 3, 4, ..., n.
Пусть p=2, это первое простое число.
Зачеркнуть все последующие числа в списке с разницей в p, т.е. 2*p, 3*p, 4*p и т.д. В случае p=2 это будут 4,6,8....
Поменять значение p на первое не зачеркнутое число после p.
Повторить шаги 3-4 пока p2 < n.
Все оставшиеся не зачеркнутыми числа – простые.
что делают строка 1 и строка 2? они присваивают каждому свойству из массива значение true и false?