Почему при (вроде) одинаковых условиях выдается разный результат?

//первый вариант

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"?

п.с. если нужно, то вот задание: Напишите код, который будет проверять число на то, простое оно или нет. Простое число делится только на единицу и на само себя, и не делится на другие числа.


Ответы (0 шт):