Divisão por tentativa

Fonte: testwiki
Revisão em 00h13min de 4 de dezembro de 2024 por imported>Pixial (+ajuste)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

O algoritmo de divisão por tentativa (em inglês, Trial Division) é um método de força bruta para realizar a fatoração de números inteiros.[1]

Dado um número inteiro positivo n, esse método consiste em verificar quais números inteiros menores do que n são seus divisores.[1]

Também pode ser utilizado para testar a primalidade de um número.

Algoritmo

Algoritmo "Enumeração de divisores"

Em pseudocódigo, o algoritmo é dado por[1]

trialDivision(n)
|   para d ← 2 até √n
|   |   enquanto(n % d = 0)
|   |   |   imprima d
|   |   |   n ← n / d
|   |   fim_enquanto
|   fim_para
|   imprima n
fim_trialDivision

O algoritmo anterior irá imprimir os fatores primos da entrada

n

, incluindo repetições. É suficiente verificar os fatores de

2

(primeiro primo) até

n

, pois se um número não é primo, então ele deve ter um divisor que é no máximo

n

.[2]

Complexidade Assintótica

Uma vez que o algoritmo de divisão por tentativa é um algoritmo de força bruta, a sua complexidade é exponencial, portanto ele é inviável para fatorar números grandes.[1]

Ver também

Predefinição:Referências

Ligações externas