Изучение простых чисел: различные методы генерации простых чисел с помощью цикла For в JavaScript

Простые числа — это увлекательные математические объекты, которые играют решающую роль в различных областях, включая криптографию, теорию чисел и информатику. В этой статье блога мы рассмотрим различные методы генерации простых чисел с помощью цикла for в JavaScript. Мы предоставим примеры кода для каждого метода, что позволит вам понять и реализовать их в ваших собственных проектах. Давайте погрузимся!

Метод 1: базовая проверка простых чисел
Первый метод включает проверку того, является ли число простым, путем перебора всех чисел от 2 до квадратного корня из числа. Если число делится на любое из этих значений, оно не является простым.

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

Метод 2: Решето Эратосфена
Решето Эратосфена — это древний алгоритм для поиска всех простых чисел до заданного предела. Он работает путем итеративной маркировки кратных каждого простого числа, начиная с 2, тем самым исключая непростые числа.

function getPrimesUpTo(limit) {
  const sieve = [];
  const primes = [];
  for (let i = 2; i <= limit; i++) {
    if (!sieve[i]) {
      primes.push(i);
      for (let j = i * i; j <= limit; j += i) {
        sieve[j] = true;
      }
    }
  }
  return primes;
}

Метод 3: оптимизированная проверка простых чисел
Этот метод улучшает базовую проверку простых чисел за счет использования некоторых оптимизаций. Он проверяет делимость только до квадратного корня числа и пропускает четные числа больше 2.

function isPrimeOptimized(num) {
  if (num <= 1) {
    return false;
  }
  if (num <= 3) {
    return true;
  }
  if (num % 2 === 0 || num % 3 === 0) {
    return false;
  }
  for (let i = 5; i * i <= num; i += 6) {
    if (num % i === 0 || num % (i + 2) === 0) {
      return false;
    }
  }
  return true;
}

Метод 4: Генератор простых чисел с подсчетом
Этот метод генерирует указанное количество простых чисел с помощью цикла for и сохраняет их в массиве.

function generatePrimes(count) {
  const primes = [];
  let num = 2;
  while (primes.length < count) {
    if (isPrime(num)) {
      primes.push(num);
    }
    num++;
  }
  return primes;
}