С помощью цикла нужно сделать проверку на простое число
Проблема заключается в том что проверку проходят не только простые числа. К примеру число 8 тоже проходит проверку цикла но оно не является простым так как оно может делится на другие числа(также 1 и самого себя) без остатка, и 7 тоже проходит проверку хотя оно уже является простым, оно больше единицы и может делится только само на себя без остатка.
const numberFourthTask = 7;
for (let i = 1; i <= numberFourthTask; i++) {
if (1 < numberFourthTask && numberFourthTask % i === 0) {
console.log('Является простым')
}
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Что у вас за логика используется?
Если хотя бы один остаток от деления numberFourthTask на меньшие числа равен нулю, то оно не простое.
P.S. Достаточно проверять числа до корня из numberFourthTask
const numberFourthTask = 7;
let i = 2;
let flag = 1;
const sq = Math.sqrt(numberFourthTask);
while (i <= sq) {
if (numberFourthTask % i === 0) {
flag = 0;
console.log ('Число составное!');
break;
}
i +=1;
}
if (flag == 1)
console.log ('Простое число');
проще сделать отдельной функцией, тогда флаг не понадобится