Как найти простые натуральные числа из диапазона?
Не понимаю как поставить циклы так, чтобы число, проходя второй for полностью до конца, попадало в массив. До конца, то есть у него не было ни с одним числом остатка от деления 0.
let arr = [];
for(let i = 2; i <= 10; i++){
for(g = 2; g < i; g++){
if (i % g !== 0) arr.push(i);
}
}
console.log(arr);
Ответы (2 шт):
Автор решения: Vlad Chapl
→ Ссылка
Понимаю - учеба началась!
Пожалуйста, сделай отдельную функцию, которая принимает на вход число, проверяет его на простоту и возвращает True или False.
После этого, надеюсь, станет понятнее?
Делать цикл в цикле можно, но это может усложнять понимание текста. В твоем случае нужно как только встречаем (i % g == 0) мы досрочно покидаем цикл. Если цикл полностью выполнен и условие не срабатывало, то добавляем число в массив.
Автор решения: Gans Liber
→ Ссылка
let n = prompt("введите границу диапазона");
for (let i = 2; i <= n; i++) {
let flag=1;
for (let j = 2; (j <= i/2)&&(flag==1); j++) {
if (i%j==0) {
flag=0
}
}
if (flag==1) {
console.log(i);
}
}