# Проверка простоты по теореме Вильсона

Проверка простоты по теореме Вильсона: (n−1)! ≡ −1 (mod n) тогда и только тогда, когда n простое. Вычет (n−1)! mod n накапливается пошагово (n ≤ 10⁷), сверяется с детерминированным Миллером–Рабином, а для составных n проверяется факториальный закон (при n > 4 (n−1)! ≡ 0 (mod n), единственное исключение — n = 4). Может показать последовательность промежуточных произведений k! mod n (n ≤ 200).

> Каноническая страница: https://elysiatools.com/ru/tools/wilson-theorem-checker

- **Категория:** Math & Numbers

- **Ключевые слова:** теорема вильсона, проверка простоты, факториал, модулярная арифметика, миллер-рабин, теория чисел, простое число

## Обзор

Инструмент проверяет простоту натурального числа n с помощью классической теоремы Вильсона, вычисляя остаток факториала (n−1)! по модулю n. Сервис выводит итоговый математический вердикт, сверяет результат с детерминированным тестом Миллера — Рабина, проверяет факториальный закон для составных чисел и может отобразить пошаговую траекторию накопления промежуточных остатков.

## Входные данные

- **Число n** (text): 2 ≤ n ≤ 10⁷ (one factorial-modulo pass).
- **Уровень детализации** (select)

## Когда использовать

- Когда необходимо наглядно продемонстрировать или проверить выполнение критерия простоты Вильсона: (n−1)! ≡ −1 (mod n).
- При исследовании поведения факториалов составных чисел по модулю n и подтверждении свойства (n−1)! ≡ 0 (mod n) для n > 4.
- В учебных целях для изучения пошаговой динамики произведений k! mod n при малых n ≤ 200.

## Как это работает

- Принимает целевое целое число n в диапазоне от 2 до 10 000 000 и выбранный уровень детализации вывода.
- Последовательно вычисляет произведение k! mod n для k от 1 до n−1 в модулярной арифметике без переполнения памяти.
- Сравнивает финальный вычет с величиной n−1 (эквивалентно −1 mod n) и одновременно запускает детерминированный тест Миллера — Рабина для перекрёстной сверки.
- Формирует текстовый отчет с вердиктом о простоте, статусом факториального закона для составных чисел и, при выборе режима трассировки, списком промежуточных остатков.

## Сценарии использования

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

## Частые вопросы

### В чём суть теоремы Вильсона?

Число n > 1 является простым тогда и только тогда, когда факториал (n−1)! при делении на n даёт остаток n−1 (то есть сравним с −1 по модулю n).

### Какой остаток получается для составных чисел?

Для любого составного числа n > 4 остаток (n−1)! mod n всегда равен 0. Единственным исключением является n = 4, где (4−1)! mod 4 = 6 mod 4 = 2.

### Каково максимальное поддерживаемое значение n?

Инструмент поддерживает значения n в диапазоне от 2 до 10 000 000 (10⁷) за один проход вычисления факториала по модулю.

### Когда доступна опция вывода промежуточных произведений?

Трассировка промежуточных значений k! mod n доступна для чисел n ≤ 200, чтобы вывод оставался компактным и удобным для анализа.

### Зачем выполняется перекрёстная проверка тестом Миллера — Рабина?

Детерминированный алгоритм Миллера — Рабина служит независимым эталоном для подтверждения корректности вердикта.

## Связанные инструменты

- [Проверка совершенных чисел](https://elysiatools.com/ru/tools/perfect-number-checker): Проверяет, является ли n совершенным числом (равным сумме собственных делителей, σ(n) = 2n). Раскладывает n (≤ 10¹²) пробным делением, вычисляет σ(n) и сумму собственных делителей по формуле для простых степеней, классифицирует n как недостаточное/совершенное/избыточное и даёт индекс изобилия σ(n)/n; для совершенных чисел восстанавливает форму Евклида–Эйлера 2^(p−1)·(2^p − 1) и перечисляет все семь чётных совершенных чисел до 10¹². Может вывести собственные делители, если их ≤ 200.
- [Проверитель Простых Чисел](https://elysiatools.com/ru/tools/prime-number-checker): Проверяет, является ли число простым (натуральное число больше 1, не имеющее положительных делителей, кроме 1 и самого себя)
- [Тьютор размерного анализа и сокращения единиц](https://elysiatools.com/ru/tools/dimensional-analysis-unit-cancellation-tutor): Разбирает перевод единиц в пошаговое сокращение factor-label: показывает отмену единиц в числителе/знаменателе, находит перевёрнутые коэффициенты и даёт учебную обратную связь при ошибках размерности и ответа.
- [Анализатор сетей PERT (ожидаемый срок/дисперсия)](https://elysiatools.com/ru/tools/pert-network-analyzer): Анализ PERT по трёхточечным оценкам для 2–20 работ (по одной на строку: название, оптимистичная a, наиболее вероятная m, пессимистичная b, предшественники): te = (a+4m+b)/6, σ² = ((b−a)/6)²; CPM на te даёт критический путь, ожидаемый срок TE и дисперсию проекта (сумма σ² по критическому пути); при целевом сроке T вычисляются Z = (T−TE)/σ и вероятность завершения Φ(Z) по нормальному приближению. Нарушения a≤m≤b и циклы отклоняются; детерминированные сети (σ≈0) обрабатываются без деления на ноль. Классика: A(2,4,6), B(3,5,7), C(2,3,10), D(4,6,8, B C) → TE = 15, σ² = 1.3333, P(T=16) ≈ 80.7%.
- [Калькулятор системы массового обслуживания M/M/1](https://elysiatools.com/ru/tools/queuing-theory-mm1): Вычисляет стационарные характеристики одноканальной СМО M/M/1: пуассоновский входящий поток (λ), экспоненциальное обслуживание (μ), дисциплина FCFS. Требуется λ < μ, иначе система неустойчива и запрос отклоняется. Выводятся загрузка ρ, вероятность простоя P0, средние L (в системе), Lq (в очереди), времена W и Wq, вероятность ожидания ρ и вероятности состояний P(n) = (1−ρ)ρⁿ (n = 0…5) с перекрёстной проверкой по формуле Литтла L = λW, Lq = λWq. Классика: λ = 4/ч, μ = 6/ч → ρ = 0.6667, L = 2, Lq = 1.3333, W = 0.5, Wq = 0.3333.
- [Калькулятор многоканальной СМО M/M/c](https://elysiatools.com/ru/tools/queuing-theory-mmc): Вычисляет стационарные характеристики многоканальной СМО M/M/c (пуассоновский поток λ, c одинаковых экспоненциальных каналов с интенсивностью μ, общая очередь FCFS): выводятся нагрузка a = λ/μ, загрузка канала ρ, вероятность простоя P0, вероятность ожидания (Эрланг-C) Pw, средние Lq, L и времена W, Wq с перекрёстной проверкой по формуле Литтла и связи Pw→Lq. Требуется λ < cμ, иначе вход отклоняется как неустойчивый; при c = 1 формулы переходят в M/M/1. Классика: λ = 6/ч, μ = 3/ч, c = 3 → P0 = 0.1111, Pw = 0.4444, Lq = 0.8889, L = 2.8889.
- [Калькулятор Сочетаний](https://elysiatools.com/ru/tools/combination-calculator): Вычисляет сочетания (C(n,r)) с поддержкой различных типов: с/без повторений, биномиальные коэффициенты.
- [Калькулятор комплексных чисел](https://elysiatools.com/ru/tools/complex-number-calculator): Выполняет структурированные операции и анализ комплексных чисел в алгебраической и полярной форме

## Примеры

- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов
