Возвращать массив простых чисел из заданного промежутка

Задача

Сделайте функцию, которая будет возвращать массив простых чисел из заданного промежутка

Решение

function res(min, max) {
  let arr = []

  function isPrime(n) {
    for (let i = 3; i <= Math.sqrt(n); i++) {
      if (n % i === 0) return false;
    }
    return true;
  }

  function printPrimes(min, max) {
    for (let i = min; i <= max; i = i + 2) {
      if (isPrime(i)) console.log(i)
    }
  }
  printPrimes(min, max);
}
console.log(res(11, 31))

Вопрос

Не могу понять откуда как добавить в массив и откуда undefined при выводе


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

Автор решения: alexWithoutBeard

function res(min, max) {
  let arr = []

  function isPrime(n) {
    for (let i = 2; i <= Math.sqrt(n); i++) {
      if (n % i === 0) return false;
    }
    return true;
  }

  function printPrimes(min, max) {
    for (let i = min; i <= max; i = i + 1) {
      if (isPrime(i)) arr.push(i);
    }
  }
  printPrimes(min, max);
  return arr
}

console.log(res(1, 31))

→ Ссылка