Anar al contingut

Test de primalidad de Fermat

De L'Enciclopèdia, la wikipedia en valencià

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:

an1=382201(mod221).

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:

an1=2422081≢1(mod221).

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]