Test de primalidad de Fermat
El test de primalidad de Fermat és un algoritme provabilístic que fa us del menuda teorema de Fermat. Esta teorema enuncia que si p és primer i a és coprimo en p, llavors ap-1 - 1 és divisible per p. Açò també es pot expressar aixina:
- ap-1 ≡ 1 (mod p).
Resulta que el recíproc d'esta teorema sol ser veritat: si p és compost, llavors ap-1 és poc provable que siga congruent en 1 mòdul p per a un valor arbitrari de a. No obstant, prenent número compuesto n i elegint un a coprimo en estos, alguns d'ells poden fer fallar este test. Estos números es denominen pseudoprimos.
Algoritme
[editar | editar còdic]l'algoritme per a implementar el test és el següent:
Utilisant algoritmes ràpits d'exponenciación modular, es pot comprovar que el temps d'eixecució d'este algoritme és O(k × log2n × log log n × log log log n), a on k representa el número de voltes que es comprova la congruència per al número aleatori a i n és el número a testear.
Eixemple
[editar | editar còdic]Supongam que es vol determinar si n = 221 és primer. Triant aleatoriamente 1 < a < 221, digam a = 38, es pot chequear l'expressió per a determinar si es complix:
després 221 pot ser primer, o també pot ser que 38 siga un número que falsege el test, de manera que prenem un atre a, esta volta 24:
Després 221 és compost i 38 era en efecte un número que falsaba el test. Ademés, 24 és un testic de Fermat de la no primalidad de 221.
Vore també
[editar | editar còdic]Referències
[editar | editar còdic]- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2001). «Section 31.8: Primality testing», Introduction to Algorithms, Second edició, MIT Press; McGraw-Hill, p. 889–890. ISBN 0-262-03293-7.
- Este artícul conté una traducció derivada de «Test de primalidad de Fermat» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.