Онлайн генератор простых чисел

Быстрые предустановки:
Разделитель при копировании

Что такое простое число?

Простое число — это натуральное число, большее 1, которое делится только на 1 и на само себя. Наименьшие простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29… Число 2 — единственное четное простое число; все остальные четные числа делятся на два.

Числа, такие как 4 (= 2 × 2), 6 (= 2 × 3) или 15 (= 3 × 5), не являются простыми числами — мы называем их составными числами.

Как работает генератор?

Для вывода всех простых чисел в диапазоне мы используем Решето Эратосфена — один из старейших и наиболее эффективных алгоритмов, описанный греческим математиком Эратосфеном Киренским около 240 года до нашей эры.

Алгоритм последовательно вычеркивает кратные каждого найденного простого числа. То, что остается, и есть простые числа. Весь расчет происходит непосредственно в вашем браузере — никакие данные не отправляются на сервер.

Для случайного выбора генератор сначала составляет список всех простых чисел в диапазоне, а затем случайно выбирает из него необходимое количество с помощью криптографически безопасного генератора (crypto.getRandomValues()).

Функции генератора

  • Все простые числа – выводит каждое простое число в заданном диапазоне (макс. 10 000)
  • Случайный выбор – выбирает N случайных простых чисел из диапазона (подходит для больших диапазонов)
  • Сортировка – сортирует результаты по возрастанию
  • Разделитель – выберите, как будут разделены числа при копировании
  • Быстрые предустановки – самые частые диапазоны в один клик

Где используются простые числа?

Криптография и безопасность

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

  • Шифрование RSA – ключи генерируются из двух больших простых чисел
  • Диффи-Хеллман – обмен ключами по простому модулю
  • Хэш-функции – простые числа как магические константы (SHA, MD5)

Математика и наука

  • Теория чисел – основные строительные блоки целых чисел
  • Гипотеза Гольдбаха – каждое четное число > 2 может быть выражено как сумма двух простых чисел (пока не доказано)
  • Гипотеза Римана – одна из проблем Гильберта, касается распределения простых чисел

Практическое использование

  • Хэш-таблицы – размер таблицы как простое число уменьшает коллизии
  • Генераторы псевдослучайных чисел – линейные конгруэнции с простым модулем
  • Музыка и ритм – полиритмы с простыми длинами циклов

Распределение простых чисел

Простые числа распределены среди натуральных чисел неравномерно, но их плотность уменьшается с ростом диапазона. Это описывает Теорема о распределении простых чисел: количество простых чисел до N приближенно равно N / ln(N).

ДиапазонКоличество простых чисел
1–104
1–10025
1–1 000168
1–10 0001 229
1–100 0009 592
1–1 000 00078 498

Решето Эратосфена шаг за шагом

Диапазон 2–30:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

1. Выберите 2, вычеркните кратные: 4, 6, 8, 10, 12...
2. Выберите 3, вычеркните кратные: 9, 15, 21, 27...
3. Выберите 5, вычеркните кратные: 25...
4. √30 ≈ 5.5 → готово

Простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29

Решето Эратосфена в коде

JavaScript

function sieve(to) {
  const composite = new Uint8Array(to + 1);
  const primes = [];
  for (let p = 2; p <= to; p++) {
    if (composite[p]) continue;
    primes.push(p);
    for (let j = p * p; j <= to; j += p) composite[j] = 1;
  }
  return primes;
}

Python

def sieve(n):
    composite = bytearray(n + 1)
    primes = []
    for p in range(2, n + 1):
        if not composite[p]:
            primes.append(p)
            for j in range(p * p, n + 1, p):
                composite[j] = 1
    return primes

Часто задаваемые вопросы (FAQ)

Является ли 1 простым числом? Нет. Число 1 традиционно не считается простым числом. Причина математическая — если бы мы считали 1 простым числом, теорема о единственном разложении на простые множители потеряла бы свою силу.
Является ли 2 простым числом? Да. Число 2 — наименьшее и при этом единственное четное простое число. Все остальные четные числа делятся на два, то есть являются составными.
Сколько простых чисел существует? Бесконечно много. Евклид доказал это около 300 года до нашей эры элегантным доказательством от противного: предположим, что существует конечное число простых чисел. Их произведение + 1 не может делиться ни на одно из них — следовательно, это новое простое число, что приводит к противоречию.
Что такое простые числа-близнецы? Простые числа-близнецы — это пары простых чисел, отличающиеся на 2, например (3, 5), (11, 13), (17, 19), (41, 43). Является ли их число бесконечным, до сих пор остается нерешенным вопросом в математике (Гипотеза о простых числах-близнецах).
Как быстро работает алгоритм? Решето Эратосфена имеет временную сложность O(n log log n). Для диапазона до 10 миллионов вычисление в браузере обычно занимает менее 100 мс.