Калькулятор примориала

Введите целое n от 0 до 20 000. Калькулятор найдёт простые числа до n и перемножит их без округления.

Граница n

30# равно:

6469693230

Цифр в результате: 10

Простые множители: 10

2 × 3 × 5 × 7 × 11 × 13 × 17 × 19 × 23 × 29

Что такое примориал (праймориал) и как его считать

Простые числа до 30, из которых составляется праймориал

Примориал числа n, который также называют праймориалом, обозначают n#. Он равен произведению всех простых чисел, которые не превышают n. Аргумент здесь задаёт границу, а не количество множителей: в 10# входят только 2, 3, 5 и 7, поэтому результат равен 210. Калькулятор находит простые числа до указанной границы и перемножает их без округления.

Простое число имеет ровно два положительных делителя: 1 и само себя. Единица простым числом не считается, поэтому первый множитель праймориала равен 2.

Определение праймориала записывается коротко:

n#=pn, p простоеpn\# = \prod_{p \le n,\ p\ \text{простое}} p

Буква p обозначает простой множитель. Для n = 30 формула превращается в 2 × 3 × 5 × 7 × 11 × 13 × 17 × 19 × 23 × 29. Получается 30# = 6 469 693 230. Под результатом калькулятор показывает все вошедшие множители, поэтому вычисление можно проверить по шагам.

Почему значения растут ступенями

Праймориал меняется только тогда, когда граница достигает нового простого числа. Получаем 5# = 30, а 6# тоже равно 30: число 6 составное и нового множителя не добавляет. При n = 7 появляется простой множитель 7, поэтому 7# = 210. Затем значение не меняется для 8, 9 и 10, так что 10# снова равно 210. Следующий скачок происходит на 11: 11# = 2 310.

Такая ступенчатость помогает читать результат. Если n и n + 1 составные, соседние значения совпадают. Если n + 1 простое, новый праймориал равен прежнему, умноженному на n + 1. Например, 29# = 30# = 6 469 693 230, потому что между границами 29 и 30 не появляется нового простого числа.

Для 0# и 1# множителей нет. В математике произведение пустого набора принимают равным 1, поэтому оба результата равны 1. Это соглашение сохраняет общие формулы и избавляет нулевую границу от искусственного исключения.

Чем n# отличается от похожих записей

Обычный факториал n! перемножает все целые числа от 1 до n. Например, 10! = 3 628 800, а 10# = 210. В факториале участвуют 4, 6, 8, 9 и 10, хотя каждое из них уже составлено из меньших простых множителей. Если нужно произведение всей последовательности, используйте калькулятор факториала.

Произведение первых n простых чисел использует n как номер, а не как границу. Первые пять простых чисел равны 2, 3, 5, 7 и 11, их произведение составляет 2 310. По определению на этой странице 5# равно только 30, потому что простые 7 и 11 больше границы 5. Иногда произведение первых n простых обозначают как pn#, но это уже праймориал n-го простого числа.

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

С двойным факториалом и суперфакториалом совпадает только идея быстро растущего произведения. Двойной факториал берёт числа одной чётности через шаг 2, а суперфакториал перемножает последовательные факториалы. Простоту множителей они не проверяют.

Примеры расчёта и проверки

🧩 Граница 5. Простые числа до 5 равны 2, 3 и 5. Получаем 5# = 2 × 3 × 5 = 30. Это удобный учебный пример: все множители видны, а результат легко проверить обычным умножением.

🪜 Граница 6. Число 6 составное, поэтому список остаётся тем же и 6# = 30. Пример показывает главный эффект: увеличение аргумента на единицу не обязано менять ответ.

🚪 Граница 7. Семь является простым числом, значит, к прежнему произведению добавляется множитель 7. Получаем 7# = 30 × 7 = 210. По такому скачку можно заметить достижение следующего простого числа.

🧪 Граница 10. Решето оставляет 2, 3, 5 и 7, а числа 8, 9 и 10 отбрасывает как составные. Поэтому 10# = 210. В задачах по делимости это одно число содержит каждый простой делитель не больше 10 ровно по одному разу.

🔬 Граница 30. В произведение входят 10 простых множителей, последний из них равен 29. Результат 30# = 6 469 693 230 подходит для проверки программы: ошибка в определении хотя бы одного простого числа сразу меняет всё произведение.

💾 Граница 100. До ста находится 25 простых чисел. Их произведение равно 2 305 567 963 945 518 424 753 102 147 331 756 070 и содержит 37 цифр. Такое значение уже неудобно считать вручную, зато калькулятор сохраняет точный ответ и даёт скопировать его без пробелов.

Как калькулятор находит точный результат

Сначала алгоритм строит решето Эратосфена. Он перебирает числа от 2 до n и отмечает кратные каждого найденного простого числа как составные. Начинать отметку можно с квадрата простого числа: меньшие кратные уже обработали предыдущие простые множители. После прохода остаётся полный список простых чисел не больше n.

Затем числа перемножаются как целые без плавающей запятой. Поэтому результат не переводится в экспоненциальную запись и не теряет последние цифры. При максимальной границе 20 000 в произведение входят 2 262 простых числа, последний множитель равен 19 997, а итог содержит 8 602 цифры. Длинное число разбивается пробелами на группы по 10 цифр только для чтения. В буфер копируется исходная непрерывная запись.

Важно! Калькулятор принимает только целую границу от 0 до 20 000. Дробное число не имеет смысла для выбранного определения: вместо 7,5 укажите 7, и список простых множителей останется тем же.

Вопросы о праймориале

Ответы помогают разобрать пограничные значения, неоднозначную запись и свойства произведения, которые легко перепутать с обычным факториалом.

Чему равны 0# и 1#?

Оба праймориала равны 1. До границ 0 и 1 нет простых чисел, поэтому используется пустое произведение, значение которого по определению равно 1.

Почему 5# и 6# равны одному числу?

Между границами 5 и 6 не появляется нового простого множителя. В обоих случаях перемножаются 2, 3 и 5, поэтому 5# = 6# = 30.

Почему 10# равно 210, а не произведению десяти простых чисел?

В записи n# число n задаёт верхнюю границу. До 10 находятся четыре простых числа: 2, 3, 5 и 7. Произведение первых десяти простых чисел является другим расчётом.

Праймориал простого числа всегда делится на предыдущий праймориал?

Да. Если n простое, то n# получается умножением предыдущего значения на n. Например, 7# = 6# × 7 = 30 × 7 = 210.

Есть ли в праймориале повторяющиеся простые множители?

Нет. Каждое простое число не больше n входит в произведение один раз. Поэтому праймориал является квадратсвободным числом: он не делится на квадрат простого числа.

Можно ли вычислить праймориал дробного числа?

Для определения с целой границей дробный аргумент не используют. Набор простых чисел до 7,5 совпал бы с набором до 7, поэтому калькулятор просит ввести целое число.

Зачем нужен полный список простых множителей?

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

Почему результат нельзя точно хранить как обычное число в JavaScript?

Обычный числовой тип точно представляет целые только до 9 007 199 254 740 991. Праймориалы быстро проходят эту границу, поэтому калькулятор использует целые произвольной длины и не округляет ответ.

Похожие калькуляторы

Возможно вам пригодятся ещё несколько калькуляторов по данной теме:

Есть что добавить?

Напишите своё мнение, комментарий или предложение.