# Verificador de primalidade pelo teorema de Wilson

Teste de primalidade pelo teorema de Wilson: (n−1)! ≡ −1 (mod n) se e somente se n é primo. O resíduo (n−1)! mod n é acumulado termo a termo (n ≤ 10⁷), contrastado com um Miller–Rabin determinístico e, para n composto, verificado contra a lei fatorial (para n > 4, (n−1)! ≡ 0 (mod n), sendo n = 4 a única exceção). Pode mostrar a sequência de produtos parciais k! mod n (n ≤ 200).

> Página canônica: https://elysiatools.com/pt/tools/wilson-theorem-checker

- **Categoria:** Math & Numbers

- **Palavras-chave:** teorema de wilson, teste de primalidade, fatorial, aritmética modular, miller-rabin, teoria dos números, verificador de primos

## Visão geral

O Verificador de Primalidade pelo Teorema de Wilson determina se um número inteiro n é primo avaliando a congruência (n−1)! ≡ −1 (mod n). A ferramenta calcula o resíduo fatorial modular passo a passo para números de até 10⁷, cruza o resultado com o teste determinístico de Miller–Rabin e verifica a lei fatorial para números compostos, oferecendo ainda o rastreamento dos produtos parciais para n ≤ 200.

## Entradas

- **Número n** (text): 2 ≤ n ≤ 10⁷ (one factorial-modulo pass).
- **Nível de detalhe** (select)

## Quando usar

- Quando você precisa verificar didaticamente a primalidade de um número usando a congruência clássica de Wilson.
- Ao estudar ou demonstrar a lei fatorial para números compostos onde (n−1)! ≡ 0 (mod n) para n > 4.
- Para inspecionar a sequência detalhada dos restos fatoriais parciais k! mod n em valores de n até 200.

## Como funciona

- Você insere um número inteiro n no intervalo de 2 até 10⁷ e seleciona o nível de detalhe desejado.
- O algoritmo acumula o produto fatorial (n−1)! módulo n termo a termo para evitar estouro de memória mantendo precisão exata.
- O resultado é comparado com n − 1 (equivalente a −1 mod n) e validado com uma verificação cruzada pelo método determinístico de Miller–Rabin.
- Se a opção de rastreamento estiver ativa (para n ≤ 200), a ferramenta exibe a lista completa de produtos intermediários k! mod n de k = 1 até n−1.

## Casos de uso

- Aulas de teoria dos números e criptografia para demonstrar congruências modulares e propriedades dos fatoriais.
- Validação de exercícios acadêmicos que exigem o cálculo do resíduo de Wilson e verificação cruzada.
- Análise do comportamento cíclico e inversos multiplicativos na sequência de produtos parciais módulo n.

## Perguntas frequentes

### O que afirma o Teorema de Wilson?

O teorema afirma que um número inteiro n > 1 é primo se, e somente se, (n−1)! ≡ −1 (mod n).

### Por que números compostos maiores que 4 resultam em 0?

Pela lei fatorial composta, se n > 4 é composto, seus fatores próprios aparecem no produto (n−1)!, fazendo com que (n−1)! seja múltiplo exato de n, logo (n−1)! mod n = 0.

### Qual é a única exceção da lei fatorial composta?

A única exceção é n = 4, onde (4−1)! = 6, e 6 mod 4 = 2 em vez de 0.

### Qual é o limite para visualizar o rastro de produtos parciais?

A exibição da sequência de produtos parciais k! mod n está disponível para números n até 200.

### Por que o teste de Wilson é pouco usado para números gigantes?

O cálculo de (n−1)! exige O(n) multiplicações modulares, tornando-o computacionalmente inviável para números extremamente grandes em comparação a testes como Miller–Rabin.

## Ferramentas relacionadas

- [Verificador de números perfeitos](https://elysiatools.com/pt/tools/perfect-number-checker): Verifica se n é um número perfeito (igual à soma dos seus divisores próprios, σ(n) = 2n). Fatora n (≤ 10¹²) por divisão por tentativa, calcula σ(n) e a soma dos divisores próprios pela fórmula de potências de primos, classifica n como deficiente/perfeito/abundante e dá o índice de abundância σ(n)/n; para os perfeitos recupera a forma de Euclides–Euler 2^(p−1)·(2^p − 1) e lista os sete números perfeitos pares até 10¹². Pode listar os divisores próprios quando forem ≤ 200.
- [Verificador de Números Primos](https://elysiatools.com/pt/tools/prime-number-checker): Verifica se um número é primo (um número natural maior que 1 que não tem divisores positivos além de 1 e ele mesmo)
- [Tutor de Análise Dimensional e Cancelamento de Unidades](https://elysiatools.com/pt/tools/dimensional-analysis-unit-cancellation-tutor): Decompõe conversões em cancelamento factor-label passo a passo: mostra numerador/denominador, detecta fatores invertidos e dá feedback didático para inconsistências dimensionais e respostas numéricas erradas.
- [Analisador de redes PERT (duração esperada/variância)](https://elysiatools.com/pt/tools/pert-network-analyzer): Análise PERT com estimativas de três pontos para 2–20 atividades (uma por linha: nome, otimista a, mais provável m, pessimista b, predecessoras): te = (a+4m+b)/6, σ² = ((b−a)/6)²; o CPM sobre os te dá o caminho crítico, a duração esperada TE e a variância do projeto (soma dos σ² no caminho crítico); com um tempo alvo T calculam-se Z = (T−TE)/σ e a probabilidade de conclusão Φ(Z) pela aproximação normal. Violações de a≤m≤b e ciclos são rejeitados; redes determinísticas (σ≈0) são tratadas sem divisão por zero. Clássico: 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%.
- [Calculadora de filas M/M/1](https://elysiatools.com/pt/tools/queuing-theory-mm1): Calcula as métricas de regime permanente da fila M/M/1: chegadas de Poisson (taxa λ), serviço exponencial (taxa μ), FCFS. Exige λ < μ; caso contrário o sistema é instável e a entrada é rejeitada. Reporta a utilização ρ, a probabilidade de sistema vazio P0, os números médios L (no sistema) e Lq (na fila), os tempos médios W e Wq, a probabilidade de esperar ρ e as probabilidades de estado P(n) = (1−ρ)ρⁿ (n = 0…5), com verificação cruzada pela lei de Little L = λW, Lq = λWq. Clássico: λ = 4/h, μ = 6/h → ρ = 0.6667, L = 2, Lq = 1.3333, W = 0.5, Wq = 0.3333.
- [Calculadora de filas M/M/c (multisservidor)](https://elysiatools.com/pt/tools/queuing-theory-mmc): Calcula as métricas de regime permanente da fila M/M/c (chegadas de Poisson com taxa λ, c servidores exponenciais idênticos com taxa μ, uma fila FCFS compartilhada): trafego oferecido a = λ/μ, utilização por servidor ρ, probabilidade de sistema vazio P0, probabilidade de espera de Erlang-C Pw, números médios Lq e L, tempos médios W e Wq, com verificação cruzada pela lei de Little e pela relação Pw→Lq. Exige λ < cμ (senão rejeita por instabilidade); com c = 1 as fórmulas colapsam em M/M/1. Clássico: λ = 6/h, μ = 3/h, c = 3 → P0 = 0.1111, Pw = 0.4444, Lq = 0.8889, L = 2.8889.
- [Combination Calculator](https://elysiatools.com/pt/tools/combination-calculator): Calculate combinations (C(n,r)) with support for different types: with/without repetition, binomial coefficients, and detailed combinatorial analysis.
- [Calculadora de numeros complexos](https://elysiatools.com/pt/tools/complex-number-calculator): Executa operacoes e analises estruturadas para numeros complexos em forma algebrica e polar

## Exemplos

- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Rust](https://elysiatools.com/pt/samples/web-image-processing-rust): Exemplos de processamento de imagem Web Rust incluindo leitura/gravação, redimensionamento e conversão de formato
