Почему при (вроде) одинаковых условиях выдается разный результат?
//первый вариант
let flag = false;
for (let i = 2; i <= 10; i++) {
for (let j = 2; j < i; j++) {
if ( i % j == 0) {
flag = false;
break;
} else {
flag = true;
}
}
if (flag === true) {
console.log(i);
}
}
//второй вариант
nextPrime:
for (let i = 2; i <= 10; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) {
continue nextPrime;}
}
console.log(i);
}
Первый вариант выводит в консоль "3, 5, 7", а второй выводит "2, 3, 5, 7" Почему в первом варианте не выводится "2"?
п.с. если нужно, то вот задание: Напишите код, который будет проверять число на то, простое оно или нет. Простое число делится только на единицу и на само себя, и не делится на другие числа.