Изучаю учебник на
learn.javascript.ru
задача:
Создать список последовательных чисел от 2 до n: 2, 3, 4, ..., n.
Пусть p=2, это первое простое число.
Зачеркнуть все последующие числа в списке с разницей в p, т.е. 2p, 3p, 4p и т.д. В случае p=2 это будут 4,6,8....
Поменять значение p на первое незачеркнутое число после p.
Повторить шаги 3-4 пока p2 < n.
Все оставшиеся незачеркнутыми числа - простые.
Дошел до массивов. Решаю задачи в конце...Одну из них не смог решить и посмотрел решение. Начал разбирать. все понял, но момент когда считается сумма незачеркнутых чисел не понятен. Как я понял то в конце считается не сумма чисел а их количество. Разъясните почему все таки считается сумма чисел.
var arr = [];
for (var i = 2; i < 100; i++) {
arr[i] = true
}
var p = 2;
do {
for (i = 2 * p; i < 100; i = i + p) {
arr[i] = false;
}
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;
}
}
console.log(sum);