nextPrime:
for (var i = 2; i <= 10; i++) {
for (var j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert( i ); // простое
}
В где ошибка ? 1 цикл i == 2; 2 цикл j == 2; j < i будет false условие не выполнится(условия выполняется когда true) почему тогда выводятся простые числа ?
В цикле ошибки нет, условие не проходит и в цикл не входит, просто после второго for сразу идёт alert, который и выводит число 2, потому что оно не прошло проверку деления на себя же (по той, причине, которую сами и описали). Тем более 2 - это простое число. Если вам не нужна двойка, просто начните первый цикл с 3.
nextPrime:
for (let i = 3; i <= 10; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
console.log( i ); // простое
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости