вывод простых чисел с массива JS (помогите найти ошибку)
уважаемые форумчане. Хочу вывести в консоль числа с массива и прописать возле каждого простое они или нет. Консоль выводит, что число 5 и далее до конца массива это все не простые числа. Помогите найти ошибку в коде, уже мозг закипает:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
let flag = true;
for (let i = 0; i < arr.length; i++) {
for (let j = 2; j < i; j++) {
if (arr[i] % j == 0) {
flag = false;
break;
}
}
if (flag) {
console.log(`${arr[i]} ПРОСТОЕ ЧИСЛО`);
} else {
console.log(`${arr[i]} НЕ простое число`);
}
}
Ответы (1 шт):
Автор решения: Oleg Dmitrochenko
→ Ссылка
Переопределяйте flag внутри начала цикла или используйте объявление в начале цикла.
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
for (let i = 0; i < arr.length; i++) {
let flag = true;
for (let j = 2; j < i; j++) {
if (arr[i] % j == 0) {
flag = false;
break;
}
}
if (flag) {
console.log(`${arr[i]} ПРОСТОЕ ЧИСЛО`);
} else {
console.log(`${arr[i]} НЕ простое число`);
}
}