Está en la página 1de 9

Nmeros primos

Un nmero primo es un nmero entero mayor que cero, que tiene exactamente dos
divisores positivos. Tambin podemos definirlo como aquel nmero entero positivo que
no puede expresarse como producto de dos nmeros enteros positivos ms pequeos
que l, o bien, como producto de dos enteros positivos de ms de una forma. Conviene
observar que con cualquiera de las dos definiciones el 1 queda excluido del conjunto de
los nmeros primos.
Ejemplos: a) El 7 es primo. Sus nicos divisores son 1 y 7. Slo puede expresarse
como producto de 7 1.
b) El 15 no es primo. Sus divisores son 1, 3, 5 y 15. Puede expresarse como
3 5. (y tambin como 15 1)
El trmino primo no significa que sean parientes de alguien. Deriva del latn "primus"
que significa primero (teto, protos en griego). El teorema fundamental de la
aritmtica afirma que todo nmero entero se expresa de forma nica como producto de
nmeros primos. Por eso se les considera los "primeros", porque a partir de ellos
obtenemos todos los dems nmeros enteros. (El 15 se obtiene multiplicando los primos
3 y 5)
Los 25 primeros nmeros primos son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43,
47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97, que son todos los primos menores que 100.
En la siguiente tabla tenemos todos los primos menores que 1000, que hacen un total
de 168 (218)
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73
79 83 89 97 10
1
10
3
10
7
10
9
11
3
12
7
13
1
13
7
13
9
14
9
15
1
15
7
16
3
16
7
17
3
17
9
18
1
19
1
19
3
19
7
19
9
21
1
22
3
22
7
22
9
23
3
23
9
24
1
25
1
25
7
26
3
26
9
27
1
27
7
28
1
28
3
29
3
30
7
31
1
31
3
31
7
33
1
33
7
34
7
34
9
35
3
35
9
36
7
37
3
37
9
38
3
38
9
39
7
40
1
40
9
41
9
42
1
43
1
43
3
43
9
44
3
44
9
45
7
46
1
46
3
46
7
47
9
48
7
49
1
49
9
50
3
50
9
52
1
52
3
54
1
54
7
55
7
56
3
56
9
57
1
57
7
58
7
59
3
59
9
60
1
60
7
61
3
61
7
61
9
63
1
64
1
64
3
64
7
65
3
65
9
66
1
67
3
67
7
68
3
69
1
70
1
70
9
71
9
72
7
73
3
73
9
74
3
75
1
75
7
76
1
76
9
77
3
78
7
79
7
80
9
81
1
82
1
82
3
82
7
82
9
83
9
85
3
85
7
85
9
86
3
87
7
88
1
88
3
88
7
90
7
91
1
91
9
92
9
93
7
94
1
94
7
95
3
96
7
97
1
97
7
98
3
99
1
99
7
Para ver los 10.000 primeros nmeros primos pincha aqu
Tambin puedes descargarte un listado con todos los primos menores que 1.000.000
Primos en el anillo de los enteros de Gauss

Cmo averiguar si un nmero es primo.
El algoritmo ms sencillo que puede utilizarse para saber si un nmero n es primo es
el de la divisin. Se trata de ir probando para ver si tiene algn divisor propio. Para ello
vamos dividiendo el nmero n entre 2, 3, 4, 5, ... , n-1. Si alguna de las divisiones es
exacta (da resto cero) podemos asegurar que el nmero n es compuesto. Si ninguna de
estas divisiones es exacta, el nmero n es primo. Este mtodo puede hacerse ms
eficiente observando simplemente, que si un nmero es compuesto alguno de sus
divisores (sin contar el 1) debe ser menor o igual que \n. Por lo tanto, el nmero de
divisiones a realizar es mucho menor. Slo hay que dividir entre 2, 3, 4, 5, ... , [\n]. En
realidad, bastara hacer las divisiones entre los nmeros primos menores o iguales que
\n.
Ejemplo: Para probar que 227 es primo sabiendo que \227 = 15'0665... basta con ver
que no es divisible entre 2, 3, 5, 7, 11 y 13.
Este procedimiento resulta eficiente para nmeros pequeos o que tienen factores
pequeos. Sin embargo si el nmero tiene por ejemplo unas 20 cifras y es primo, habr
que realizar miles de millones de divisiones para comprobarlo. Aunque un ordenador
pueda realizar millones de divisiones en un segundo, el tiempo necesario es bastante
considerable. Y cuando el nmero de dgitos aumenta el tiempo necesario crece de
forma exponencial!!
Ejemplo prctico: Supongamos que queremos saber si un nmero de unas 50 cifras es primo. La raz
cuadrada de un nmero de este orden est en torno a 10
25
. Si un ordenador hace 1000 millones de
divisiones por segundo, necesitar 10
25
/10
9
segundos; es decir, 10
16
segundos. Este tiempo equivale,
aproximadamente, a 1'6*10
14
minutos, que son 2'7*10
12
horas, o tambin 1'16*10
11
das,
aproximadamente 3'17*10
8
aos. Que para hacer esto se necesiten 317.097.920 aos se me antoja una
tarea poco recomendable. Y si nos decidisemos a llevarla a cabo, sera til esta informacin pasado
todo este tiempo? O ms drstico todava, seguira existiendo nuestra especie entonces?
As que tenemos que pensar en otra alternativa que nos permita dar una respuesta al
problema de una forma ms favorable; necesitamos un algoritmo ms eficiente. Una
respuesta puede ser el teorema pequeo de Fermat. Este teorema afirma que si n es
primo y mcd(a,n) = 1, entonces a
n-1
1 (mod n). Hay que tener en cuenta que la
exponenciacin modular puede realizarse en un tiempo bastante favorable, si se hace de
forma adecuada (hay algoritmos que nos dan la respuesta en tiempo polinmico)
Ejemplo: Queremos comprobar si el nmero 15 es primo o no. Tomamos a = 2, n =
15, y evaluamos 2
14
(mod 15) 4. Podemos asegurar entonces que 15 es
compuesto. Probemos con a = 2, n = 341, evaluamos 2
340
(mod 341) 1. Esto no
asegura que 341 sea primo ni compuesto. Al probar con a=3 tenemos 3
340
(mod 341)
56, lo cual implica que 341 es compuesto.
A los nmeros que se comportan como el 341 en el ejemplo anterior se le llaman
pseudoprimos para la base 2 (se comporta como un primo para a=2). Este
comportamiento es peculiar para algunos nmeros. Tomando por ejemplo a=2 y n=561,
obtenemos que 2
560
(mod 561) 1, 3
560
(mod 561) 1, 5
560
(mod 561) 1 y as con
todas las bases con las que probemos. Es decir, se comporta como un primo para
cualquier base que elijamos. Sin embargo, 561 = 3 11 17 es compuesto. A los nmeros
que como ste, son pseudoprimos para todas las bases se les llama nmeros de
Carmichael. Los nmeros de Carmichael menores que 100.000 son 561, 1105, 1729,
2465, 2821, 6601, 8911, 10585, 15841, 29341, 41041, 46657, 52633, 62745, 63973 y
75361.
Desde luego, no parecen muy abundantes. Los expertos se preguntaban si seran un
conjunto finito, con lo cual una vez identificados se podran "evitar" fcilmente, aunque
la creencia generalizada apuntaba a que el conjunto era infinito. Se demostr que para
ser un nmero de Carmichael haba que ser libre de cuadrados y un producto de al
menos tres primos distintos. En 1994, Alford, Granville y Pomerance demostraron que
existen infinitos nmeros de Carmichael. De hecho, su resultado indica que para n
suficientemente grande C(n) > n
2/7
, donde C(n) es la cantidad de nmeros de
Carmichael menores que n.
Para evitar este contratiempo, podemos recurrir a un teorema un poco ms fino
debido a Euler. Este resultado afirma que si n es primo y mcd (a,n)=1, entonces a
(n-1)/2

1 (mod n). Con esto evitamos que nmeros compuestos puedan pasar por primos
como ocurre con el teorema pequeo de Fermat.
Ejemplo: Para comprobar que 91 es compuesto basta ver 2
45
(mod 91) 57 . Y que
pasa con un nmero de Carmichael como el 561?. Veamos 2
280
(mod 561) 1 , pero 5
280
(mod 561) 67 . Parece que esto funciona.
Pero todava podemos afinar un poco ms. La idea es que si n es primo, entonces Z
n

es un cuerpo. Y en un cuerpo las nicas races cuadradas de 1 son 1 y -1. En el ltimo
ejemplo estamos diciendo que Z
561
no es un cuerpo porque en l, la raz de 1 es 67, y
por tanto 561 no es primo. Si tomamos n-1 y lo dividimos entre 2 mientras sea posible,
estamos extrayendo races cuadradas y se trata de comprobar si los resultados dan
siempre 1 -1. Esto da lugar al test de Miller-Rabin.
Ejemplo: Tomando n = 561 hacemos 2
280
(mod 561) 1 , 2
140
(mod 561) 67, que
continuara con 2
70
y 2
35
, pero ya no es necesario porque estamos viendo que la raz
cuadrada de 1 es 67. Por tanto, 561 es compuesto.
Si al llegar a 2
35
no obtenemos un resultado distinto de +1 -1, tendramos que elegir
otra base. Y ah es donde podemos tener dificultades, porque si n es bastante grande
quiz tengamos que probar con muchas bases y la respuesta tardar en llegar. Y
podemos empezar a preguntarnos si la tardanza es porque n es primo o porque es un
compuesto que se comporta como un primo para un conjunto "grande" de bases. Qu
debemos hacer entonces? La solucin es determinar el nmero de bases con que
tenemos que probar para asegurar que un compuesto no pase la prueba como si fuese un
primo.
Definiciones: Si un entero n compuesto e impar verifica la congruencia de Euler para la
base b, entonces n es un pseudoprimo de Euler para la base b. Asmismo, si n pasa el
test de Miller-Rabin para la base b, entonces n es un pseudoprimo fuerte para la base b.
Los siguientes resultados nos dan la respuesta a la cuestin del prrafo anterior.
Proposicin: Si n es compuesto e impar, al menos la mitad de las bases b que verifican
0<b<n, no satisfacen la congruencia de Euler.
Teorema (Rabin): Si n es un entero compuesto impar, entonces n es un pseudoprimo
fuerte para la base b, para a lo sumo un 25% de las posibles bases que verifican 0 < b <
n, mcd(b,n) = 1.
Desde luego que el teorema anterior no es para tirar cohetes. Probar con un 25% de
las bases es algo descomunal si n es un nmero grande. Sin embargo, tambin hay que
decir, que experimentalmente se ha comprobado que el test es mucho ms eficiente de
lo que indica la acotacin del 25%. Es decir, cuando el nmero es compuesto, basta
probar con unas pocas bases (la mayora de veces con una sola) para demostrar que el
nmero es compuesto. Si probamos con varias bases y nuestro nmero pasa el test, la
probabilidad de que sea primo es muy pequea.
Yendo un poco ms lejos, hay un resultado de Miller que afirma lo siguiente:
Teorema (Miller, 1976): Si la hiptesis de Riemann generalizada es cierta y n es un
entero compuesto impar, entonces n no pasa el test de Miller-Rabin para alguna base b
< 2 log
2
n (teorema de bach, aukemy, montgomery 1985??)
Este resultado implicara un test de primalidad en tiempo polinmico del orden de
O(log
5
n).
En la tabla de abajo podemos ver la cantidad de nmeros de Carmichael y
pseudoprimos para la base 2. Por ejemplo, el primer 1 de la fila que comienza con 10
3
indica que slo hay un nmero de Carmichael menor que 1000, y el 3 que sigue que hay
3 pseudoprimos para la base 2 menores que 1000.
( Nota: Los pseudoprimos de Euler tambin son llamados a veces pseudoprimos de Euler-Jacobi )
10
n
Carmichael psprimos(2) pspEuler(2) pspFuerte(2)
10
1
0 0 0 0
10
2
0 0 0 0
10
3
1 3 1 0
10
4
7 22 12 5
10
5
16 78 36 16
10
6
43 245 114 46
10
7
105 750 375 162
10
8
255 2057 1071 488
10
9
646 5597 2939 1282
10
10
1547 14884 7706 3291
10
11
3605 38975 20417 8607
10
12
8241 101629 53332 22407
10
13
19279 264239 124882 58892
Tabla 2: Pseudoprimos y nmeros de Carmichael

Los primeros pseudoprimos para la base 2 son 341, 561, 645, 1105, 1387, 1729,
1905, 2047, 2465, 2701, ...
Los primeros pseudoprimos para la base 3 son 91, 121, 286, 671, 703, 949, 1105,
1541, 1729, 1891, 2821,...
Los primeros pseudoprimos para la base 5 son 4, 124, 217, 561, 781, 1541, 1729,
1891, ...
Los primeros pseudoprimos de Euler para la base 2 son 561, 1105, 1729, 1905, 2047,
2465, ...
Los primeros pseudoprimos de Euler para la base 3 son 121, 703, 1729, 1891, 2821,
3281, 7381, ...
Los primeros pseudoprimos fuertes para la base 2 son 2047, 3277, 4033, 4681, 8321,
15841, 29341, 42799, 49141, 52633, 65281, 74665, 80581, 85489, 88357, 90751, ...
Los primeros pseudoprimos fuertes para la base 3 son 121, 703, 1891, 3281, 8401,
8911, 10585, 12403, 16531, 18721, 19345, 23521, 31621, 44287, 47197, 55969, 63139,
74593, 79003, 82513, 87913, 88573, 97567, ...
Estos ejemplos nos permiten ver que si en lugar de la base 2 utilizamos las bases 2 y
3, los nmeros que pueden pasar el test siendo compuestos son muchos menos. Y si
tomamos ms bases todava, los resultados mejoran considerablemente. Por ejemplo,
slo hay un pseudoprimo fuerte para las bases 2, 3, 5 y 7 menor que 25 10
9
, y este
nmero es 3,215,031,751.
Lo que se hace en la prctica para nmeros muy grandes es tomar una serie de bases
al azar y comprobar si se verifican las congruencias. Si no se verifica en algn caso, el
nmero es compuesto con total seguridad. Si se verifican todas, hay una "sospecha"
muy grande de que el nmero es primo, aunque no puede asegurarse. La probabilidad de
error puede hacerse tan pequea como se quiera con solo coger un nmero suficiente de
bases.
Gracias a los trabajos de Pomerance, Selfridge y Wagstaff (1980) y Jaeschke (1993)
podemos elaborar tests de rpida ejecucin y completamente deterministas (usando
Miller-Rabin) si consideramos nmeros hasta un cierto tamao:
- Para nmeros menores que 25,326,001 basta probar con las bases 2, 3 y
5.
- Para nmeros menores que 4,759,123,141 basta probar con las bases 2, 7
y 61.
- Para nmeros menores que 2,152,302,898,747 basta probar con las bases
2, 3, 5, 7 y 11.
- Para nmeros menores que 341,550,071,728,321 basta probar con las
bases 2, 3, 5, 7, 11, 13 y 17.
Un palndromo (del griego palin dromein, volver a ir hacia atrs) es una
palabra, nmero o frase que se lee igual hacia adelante que hacia atrs. Si se trata de un
nmero, se llama capica. Habitualmente, las frases palindrmicas se resienten en su
significado cuanto ms largas son.
Normalmente se entiende por palndromo aquel que toma por unidad la letra, es decir,
cuya ltima letra es la misma que la primera, la penltima es la misma que la segunda,
etc. Es el caso de palabras tales como reconocer o anilina. Sin embargo, tambin se
puede tomar como unidad la slaba (por ejemplo, gato con toga, aunque en este caso
podra ser calificado como anagrama), la palabra o incluso el rengln.
Ejemplo de nmeros: 46164 por 12.
PALNDROMOS NUMRICOS

Los palndromos numricos, o capicas por antonomasia en castellano (palabra
procedente del cataln cap-i-cua, "cabeza y cola"), suelen merecer poca atencin por
parte de los aficionados a la Lingstica Recreativa. Sin embargo tienen interesantes
propiedades, que resulta incitante explorar.
La primera es su distribucin o "densidad" respecto de los nmeros comunes, que
disminuye rpidamente al crecer stos, como conoce muy bien cualquier coleccionista
de capicas, que sabe la dificultad de hallar ejemplares de los de muchas cifras. Un 10
% de los nmeros de 2 3 cifras son capicas, pero esta proporcin baja al 1 % para los
de 4 5 cifras, al 0,1 % para los de 6 7... Es decir, una ley exponencial, similar a la
que regula los nmeros primos. Pero parece que el conjunto de los primos
palindrmicos es indefinido. En todo caso, el mayor de los conocidos es bastante
grande:

10
1487
30
1487
1

Donde 0
1487
significa 1487 ceros seguidos. El nmero tiene 2977 cifras.
Existe relacin entre ambos conjuntos? Claro es que un nmero primo y
palindrmico debe tener un nmero impar de cifras, pues los palndromos pares son
todos mltiplos de 11 (el propio 11, primo, es la nica excepcin a esta regla). Se ha
observado que existen parejas de tales nmeros que difieren slo en la cifra central (el
ejemplo ms obvio es 131, 151 y 181).
Es infinito el nmero de tales parejas? Est por resolver la cuestin. En todo
caso, la mayor conocida es la formada por los nmeros

10
499
305558555030
499
1 y 10
499
305559555030
499
1

Tampoco pueden existir nmeros primos "repes no unitarios", es decir, formados
por una nica cifra distinta de 1, lo que sera el caso ms absoluto de palindroma.
Efectivamente, es claro que 7777777, por ejemplo, es mltiplo de 7. Pero, y si la cifra
es 1? stos son los llamados "repunos", cuyo caso ms claro es nuevamente 11. Pero
hay que esperar bastante hasta hallar un nuevo repuno primo, ya que el si-guiente es

1.111111.111111.111111

Es decir, diecinueve unos seguidos! Otros son los formados con 23 unos y con
317 unos. No se conocen ms, por ahora, aunque es "casi seguro" que tambin lo es el
formado por 1031 unos. La descomposicin en factores primos de algunos repunos es
ciertamente chocante, como por ejemplo:

R(38) = 11.111111.111111.111111.111111.111111.111111 =
= 11 909090.909090.909091 1.111111.111111.111111

R(39) = 111.111111.111111.111111.111111.111111.111111 =
= 3 37 53 79 265371653 900900.900900.990990.990991

Los capicas aparecen en todas las clases de nmeros naturales. Existen infinitos
palndomos que son cuadrados perfectos, as:

11 = 121
22 = 484
26 = 676
836 = 698896

Tambin hallamos palndromos entre los cubos (22013 = 10.662.526.601),
triangulares (55,66,171, 595...). El primero de ellos pertenece tambin a la serie de
Fermat.
Describamos ahora una curiosa operacin. Si sumamos un nmero con su
"reflejado numrico" se obtiene a menudo un palndromo. As 241 + 142 = 383. En
ocasiones hay que reiterar el proceso:

967 + 769 = 1736
1736 + 6371 = 8107
8107 + 7018 = 15125
15125 + 52151 = 67276

Se llegar siempre as a un palndromo, partiendo de cualquier nmero? Esta
conjetura permaneci abierta muchos aos y el advenimiento de las computadoras
pareci por un momento que iba a resolverla. Hacia 1960 existan 233 nmeros enteros
menores de 10.000 que no se palindromizaban tras 100 pasos. La aplicacin de los
modernos ordenadores los fue pulverizando gradualmente, pero quedan dos rebeldes, el
196 y el 879 (y otros en que la operacin converge desde aqullos, como 295, 394, 493,
592, 689, 691, 788, 790, 887, 978, 986), que tras millones de pasos han rehusado
capicuarse.
La pregunta contina pendiente, pero lo curioso es que en otros campos est ya
dilucidada. Por ejemplo, el nmero 10110 en base binaria jams conduce a un
palndromo.

Josep M. Albaigs
Barcelona, agosto 1989



MS SOBRE LA "SUMA PALINDROMIZADORA"

En [C-1] se habl de las curiosas propiedades de la "suma palindromizadora" (en
adelante, SP), operacin consistente en sumar a un numero dado su "reflejado
numrico". Por ejemplo, 431 + 134 = 564. La operacin debe ser reiterada a veces pero
se acaba llegando casi siempre a un palndromo. Segn THE PENGUIN
DICTIONARY OF CURIOUS AND INTERESTING NUMBERS (David Wells,
Penguin Books, 1987) el nico rebelde menor de 10.000 hallado hasta el momento es
196, pero esta informacin se contradice con la del propio libro, que cita tambin a 1675
con esta misma propiedad (en realidad, ste es un "derivado" de 196, que aparece en la
segunda iteracin).
Por otra parte, por mi cuenta he hallado otros nmeros "rebeldes", tambin
menores que 10.000, incluso que 1000. El primero, claro, es 691, el reflejado de 196.
Tambin lo son 295, 394, 493, 592, 689, 788, 790, 887, 986, que conducen, como 196,
al ya citado 1675 o a sus derivados.
Pero tambin resulta "rebelde" 879 (y, claro, 978 y los derivados), que tras 2000
iteraciones no se palindromizan ni concurren con los derivados de 196.
El problema central que se plantea es: Acaba cualquier nmero produciendo un
palndromo? En mi opinin, la respuesta es negativa. Ms an, slo por azar se dan tan
pocos rebeldes antes de 10000. El propio DICTIONARY cita que hasta 100.000, ya
aparecen 5996 nmeros rebeldes (no dice tras cuntos pasos).
Para poder empezar a aproximarse al estudio del problema, analicemos el proceso
de aumento que se opera en un nmero tras someterlo a un paso de la SP. En el caso
ms extremo, el de un nmero empezando y terminando 10000....99999, el resultado de
la SP es unas 11 veces el nmero de partida, mientras que en el caso opuesto
(9999...00001), el nmero aumenta slo 1,1 veces.
Podra pensarse por ello que, por trmino medio, la operacin SP tiende a
multiplicar el nmero N por un valor aproximado a la media geomtrica de dichos
valores, pero no
es as. En las tablas adjuntas se observa el resultado de la aplicacin de 4000
iteraciones a 196, y de 2000 a 879. Vemos que el "factor de aumento" medio k parece
tender a un lmite, por cierto sospechosamente prximo al nmero e. Quiz no sea ms
que una coincidencia, pero el mismo valor, ms aproximado todava, se repite para 879.
Estudiada esta convergencia con algn detalle (v. las grficas), resultan chocantes las
oscilaciones en torno al valor supuesto.
De todos modos, y a falta de seguridad sobre ese punto, admitamos el resultado
emprico de que cada proceso SP multiplica el nmero por trmino medio por 2,65. Para
que tras una SP haya palindromizacin, todas las cifras del nmero deben ser inferiores
a 5. Si la probabilidad de aparicin de una cifra fuera uniforme, la de que hubiera
palindromizacin sera por tanto:

p = 2
-m


Siendo m la mitad por exceso del nmero de cifras c, o sea m = int [(c+1)/2].
Admitiendo pues esta probabilidad, y que cada iteracin aumenta por trmino medio el
nmero de cifras en log
10
(2,65) = 0,42, ser fcil construir un programa que nos
proporcione las probabilidades de palindromizacin. stos son sus resultados:

c p

2 0,9907
3 0,9335
4 0,8771
5 0,7245
6 0,6333
7 0,4675
8 0,3884

Estos resultados estn lejos de ser ajustados, pues para n=3, debera ser p = 0,987,
ya que hemos visto que 13 nmeros entre 100 y 999 no se palindromizan. Pero el aire
de los resultados es concluyente, y muestra que para pocas cifras la palindromizacin es
casi segura, pues aunque la probabilidad no alcanza unos grandes valores en cada paso,
el nmero de stos es tan grande como queramos. Al crecer el nmero de cifras
disminuye tambin p, y por ello resulta lgico pensar que, partiendo de nmeros de
cifras elevados, no se capicuar el nmero.
De hecho, construyendo un programa de ordenador que realice los procesos
anteriores, es fcil ver que, en cuanto probamos con nmeros de 6 ms cifras, es muy
frecuente no alcanzar la palindromizacin tras centenares de iteraciones. Y resulta casi
utpico pensar que sta vaya a llegar con nmeros de centenares o miles de cifras, en
los que sera una coincidencia milagrosa que todas fueran inferiores a 5.

Claro que, quin sabe...?