Простые числа - это числа, которые делятся только на одного и на себя.
Этот код работает:
for (let j = 2; j < i; j++) { // here you have to iterate only t
if (i % j == 0) continue nextPrime; // not a prime, go next i
}
, потому что для каждого i необходимо знать,есть меньшее число, которое i делится на него.
Например:
i === 6;
Чтобы знать, является ли оно простым, вам не нужнопроверьте 1 и 6, но все остальные числа: 2, 3, 4 и 5. Поскольку 6 делится на 2, вы уже знаете, что это не простое число и может перейти к следующему числу.
ТоВот почему вы используете j<i
, а не j<=n
.