Вы находитесь на странице: 1из 12

Ingeniera Informtica

I NTRODUCCIN A LA M ATEMTICA D ISCRETA


Notas sobre Aritmtica Entera

ndice
1. Introduccin

2. Los nmeros enteros


2.1. Conjuntos de enteros . . . . . . . . . .
2.2. Algunos enteros famosos . . . . . . . .
2.3. Divisin eucldea . . . . . . . . . . . .
2.4. El tamao de los nmeros . . . . . . .
2.5. Divisores de cero . . . . . . . . . . . . .
2.6. Propiedades bsicas de la divisibilidad
2.7. Mximo comn divisor . . . . . . . . .

.
.
.
.
.
.
.

1
1
1
3
3
4
4
4

3. Algoritmo de Euclides
3.1. Algoritmo de Euclides . . . . . . . . . . .
3.2. Igualdad de Bzout . . . . . . . . . . . .
3.3. Primos relativos . . . . . . . . . . . . . .

4
4
5
6

4. Ecuacin diofntica
4.1. Soluciones . . . . . . . . . . . . . . . . .
4.2. Soluciones no negativas . . . . . . . . .
5. Primos
5.1. Propiedades fundamentales . . . . . .
5.2. Criba de Eratstenes . . . . . . . . . .
5.3. Factorizacin . . . . . . . . . . . . . . .
5.3.1. Bsqueda de un divisor primo
5.3.2. Primer test de primalidad . . .
5.3.3. Factorizacin por fuerza bruta
5.3.4. Factorizacin de Fermat . . . .

.
.
.
.
.
.
.

6
6
7
7
7
8
8
9
9
9
10

6. Primos misteriosos

10

7. Buscando primos

11

ndice alfabtico

12

1. Introduccin
Estas notas corresponden a la transcripcin de parte de las transparencias utilizadas en las clases de Introduccin a la Matemtica Discreta, correspondiente a los estudios de Grado en Ingeniera Informtica en la
Universidad de Sevilla, y contienen todos los datos relevantes de las mismas.
Se incluyen muy pocas demostraciones.

2. Los nmeros enteros


2.1. Conjuntos de enteros
Utilizaremos las notaciones siguientes:
El conjunto de todos los enteros se designar por

Z = {. . . , 2, 1, 0, 1, 2, . . .}
El conjunto de todos los naturales o enteros no negativos se designar por
IN = {0, 1, 2, . . .}
El conjunto de todos los enteros positivos se designar por

Z+ = {1, 2, . . .}
2.2. Algunos enteros famosos
Mencionaremos aqu algunos nmeros enteros que tienen propiedades notables, y que utilizaremos a lo largo
del curso.
Indicaremos ciertas de sus propiedades, por ahora sin demostracin (ms adelante demostraremos alguna de
ellas). De hecho algunas de estas propiedades se enuncian utilizando conceptos que estudiaremos ms tarde y
usan resultados que tambin estudiaremos posteriormente.

Nmeros de Fibonacci: Leonardo de Pisa (1170-1250), tambin llamado Fibonacci defini la sucesin
infinita de enteros que lleva su nombre. En ella los dos primeros nmeros son 1, 1 y cada uno de los
siguientes se obtiene sumando los dos anteriores.
Los primeros nmeros de la sucesin de Fibonacci son
f 1 = 1, f 2 = 1, f 3 = 2, f 4 = 3, f 5 = 5, f 6 = 8, f 7 = 13, f 8 = 21, f 9 = 34, . . .
Los nmeros de Fibonacci tienen muchas propiedades como se ver a lo largo del curso. Algunas que
demostraremos despus son:
Dos nmeros de Fibonacci consecutivos son primos entre s: mcd( f n , f n+1 ) = 1. ?
mcd( f n , f m ) = f mcd(n,m) ?
f n puede ser calculado usando solo aritmtica entera por un algoritmo de orden O (l og n).
Una frmula explcita para f n (que utiliza nmeros reales y sorprendentemente se evala siempre
a un nmero entero) es

p !n
p !n
1 1 5
1 1+ 5
p
fn = p
2
2
5
5
El nmero =

p
1+ 5
2

que aparece en esta frmula recibe el nombre de razn urea.

Nmeros de Mersenne: Marin Mersenne (1588-1648) defini los llamados nmeros de Mersenne como
M n = 2n 1 para n 1. Un primo de Mersenne es un nmero de Mersenne que es primo.
Los primeros nmeros de Mersenne son
M 1 = 1, M 2 = 3, M 3 = 7, M 4 = 15, M 5 = 31, M 6 = 63, . . .
Algunas propiedades de estos nmeros son:
M n es un nmero cuya representacin binaria consiste en n unos. ?
M n no tiene que ser primo: de hecho, si n es compuesto entonces M n es compuesto. ?
Solo se conocen 48 nmeros primos de Mersenne; el mayor de ellos es M 57885161 = 257885161 1, un
nmero de ms de diecisiete millones de cifras decimales.
n

Nmeros de Fermat: Pierre de Fermat (1601-1665) defini los nmeros de Fermat como F n = 22 +1, para
n 0. Un nmero primo de Fermat es un nmero de Fermat que es primo.
Los primeros nmeros de Fermat son
F 0 = 3, F 1 = 5, F 2 = 17, F 3 = 257, F 4 = 65537, F 5 = 4294967297, F 6 = 18446744073709551617, . . .
Algunas propiedades de estos nmeros son:
Los cinco primeros son primos; de hecho Fermat crea que todos eran primos. Euler prob que no
era as en 1732:
5
F 5 = 22 + 1 = 232 + 1 = 4294967297 = 641 6700417
Actualmente, solo son conocidos cinco nmeros primos de Fermat, que son los cinco primeros y
slo se conoce la factorizacin completa de los doce primeros.
Nmeros de Euclides: Si p 1 = 2, p 2 = 3 p 3 = 5, . . . son los nmeros primos ordenados en orden creciente,
entonces los nmeros de Euclides, llamados as en honor de Euclides (325-265 AC), se definen como
en = p1 . . . pn + 1
Los primeros nmeros de Euclides son
e 1 = 3, e 2 = 7, e 3 = 31, e 4 = 211, e 5 = 2311, e 6 = 30031, e 7 = 510511, . . .
Algunas propiedades de estos nmeros son:
2

Los cinco primeros nmeros de Euclides son primos; en cambio e 6 = 30031 = 59509, con lo que no
todos lo son. No se sabe si existen infinitos nmeros de Euclides que sean a su vez primos.
Ningn nmero de Euclides puede ser un cuadrado perfecto. ?
Para n 3, en la expresin decimal de e n el dgito de las unidades es siempre 1. ?

2.3. Divisin eucldea


Es la divisin de enteros de toda la vida. Se llama as en honor de Euclides (325-265 AC):
Para cada par de enteros a Z, b Z+ existe un nico par de enteros q, r con
a = q b + r,

0r b

entonces, q se llama el cociente y r el resto.

Si dividimos la igualdad anterior entre b tenemos la siguiente igualdad de fracciones:


a
r
=q+ ,
b
b

r
<1
b

Definimos entonces las siguientes funciones:


a
a
b = el mayor entero menor o igual que b (suelo o parte entera de b ).
a
a
b =el menor entero mayor o igual que b (techo de b ).
Si la divisin es exacta entonces r = 0 y se dice que b divide a a (o que b es un divisor de a, o que a es mltiplo
de b). Esta relacin se designa mediante b|a:
b|a a = b c

(para algn c Z)

Si a es mltiplo de b entonces

jak lam a
a
Z
=
=
b
b
b
b
en otro caso podemos representar la situacin de los tres valores sobre la recta real del modo siguiente:
b|a

a
b

a
b

a
b

2.4. El tamao de los nmeros


El tamao de un nmero entero ser el nmero de bits necesarios para expresarlo en binario.
Si la expresin binaria de n 0 es b k b k1 . . . b 2 b 1 b 0 , donde cada b i es un bit y suponemos que b k = 1, entonces
n = b k 2k + b k1 2k1 + + b 2 22 + b 1 2 + b 0

y se tiene que k log2 n < k + 1 de donde k = log2 n y el nmero de bits de n es k + 1.


Debe observarse que la divisin entera de este nmero por 2 consiste solamente en un deplazamiento de bits
ya que n/2 = b k 2k1 + b k1 2k2 + + b 2 2 + b 1 :
n
n
2

bk

=
=

Si consideramos las divisiones eucldeas


hacerse k + 1 veces hasta obtener cero.

n
2k

b k1
bk

=1y

n
2k+1

b k2
b k1

...
...

b1
b2

b0
b1

= 0 podemos concluir que la asignacin n =

Resumiendo:

n
2

puede

El nmero de bits de un nmero n es log2 n + 1 y es el nmero de veces que hay que dividir n hasta obtener
cociente cero.

2.5. Divisores de cero


En Z siempre se verifica:
a 6= 0, ab = 0 b = 0 (no hay divisores de cero).
a 6= 0, ab = ac b = c (se verifica propiedad cancelativa).
Lo segundo es consecuencia directa de lo primero.

2.6. Propiedades bsicas de la divisibilidad


En Z siempre se verifica:
a|b, b|c a|c
a|b, c|d ac|bd
Si m 6= 0, a|b ma|mb
Si c divide a a 1 , a 2 , . . . , a n y m 1 , m 2 , . . . , m n Z, entonces c|(m 1 a 1 + m 2 a 2 + . . . + m n a n )

2.7. Mximo comn divisor


Dados dos enteros a, b, no ambos nulos, se denomina mximo comn divisor de a y b y se designa por mcd(a, b)
al mayor de sus divisores comunes, que existe y es nico.
La propiedad fundamental del mximo comn divisor d = mcd(a, b) es
d |a y d |b
Si c|a y c|b entonces c|d

Otras propiedades del mximo comn divisor son:


mcd(a, b) = mcd(b, a) = mcd(a, b) = mcd(a, b) = mcd(a, b)
mcd(a, 1) = 1
mcd(a, a) = mcd(a, 0) = a
mcd(a 1 , a 2 , . . . , a k ) = mcd(a 1 , mcd(a 2 , . . . , a k ))
Un concepto relacionado con el de mximo comn divisor es el del mnimo comn mltiplo:
El mnimo comn mltiplo de dos enteros positivos a, b es el menor de los mltiplos comunes de a y b y se
designa por mcm(a, b). La relacin entre el mnimo comn mltiplo y el mximo comn divisor viene dada por
la igualdad
mcd(a, b) mcm(a, b) = a b

3. Algoritmo de Euclides
El algoritmo de Euclides para el clculo del mximo comn divisor es uno de los ms antiguos documentados
y es tambin uno de los ms elegeantes y eficientes.

3.1. Algoritmo de Euclides


El algoritmo se basa en propiedad siguiente:

Si a = b c + r es la divisin eucldea de a entre b, entonces mcd(a, b) = mcd(b, r )

Si se aplica este resultado recursivamente, obtenemos


mcd(a, b) = mcd(b, r 1 ) = mcd(r 1 , r 2 ) . . . = mcd(r n2 , r n1 ) = mcd(r n1 , 0) = r n1 = d
donde r 1 es el resto de dividir a entre b, r 2 es el resto de dividir b entre r 1 , y, en general, r k es el resto de dividir
r k2 entre r k1 .
Esto se puede sistematizar en el siguiente algoritmo:
A LGORITMO DE E UCLIDES
entrada: a, b enteros positivos
salida: d = mcd(a, b)
mientras b > 0
r = resto de dividir a entre b
a =b
b=r
retorna a
Por ejemplo, para a = 1492, b = 1066 obtenemos las sucesivas divisiones:
a
1492
1066
426
214
212

=
=
=
=
=
=

b
1066
426
214
212
2

c
1
2
1
1
106

+
+
+
+
+
+

r
426
214
212
2
0

y entonces mcd(1492, 1066) = 2


Se puede demostrar que el caso en el que ms divisiones realiza el algoritmo de Euclides es cuando se usa
para hallar el mximo comn divisor de dos nmeros consecutivos de la sucesin de Fibonacci. En trminos
computacionales, el algoritmo de Euclides es de orden O (log n), donde n es el menor de a y b.

3.2. Igualdad de Bzout


Si en la tabla anterior, obtenida por el algoritmo de Euclides, ponemos a en lugar de 1492, b en lugar de 1066 y
d en lugar de 2, queda
a
b
426
214

=
=
=
=

b
426
214
212

1
2
1
1

+
+
+
+

426
214
212
d

Entonces, despejando de abajo hacia arriba, tenemos:


d = 214 212 =
= 214 (426 214) = 426 + 2 214 =
= 426 + 2(b 2 426) = 2b 5 426 =
= 2b 5(a b) =
= 5a + 7b
sta es la igualdad de Bzout:
Si d = mcd(a, b), existen enteros , con d = a + b

La afirmacin recproca es falsa: puede tenerse una igualdad de enteros d = a +b pero d 6= mcd(a, b); basta
considerar la igualdad 2 12 3 7 = 3 y evidentemente 3 no es el mcd(12, 7).
Sin embargo si d = 1, entonces s:

mcd(a, b) = 1 existen enteros , tales que a + b = 1

Debe observarse que los coeficientes de la igualdad de Bzout no son nicos.


Se puede modificar el algoritmo de Euclides para obtener la igualdad de Bzout:
A LGORITMO EXTENDIDO DE E UCLIDES
entrada: a, b enteros positivos
salida: (d , , ) con mcd(a, b) = d = a + b
= 0, = 1,c = a, d = b, r = b, u = 1, v = 0
mientras r > 0
q, r = cociente y resto de dividir c entre d
c = d,d = r
t = u, u = , = t q
t = v, v = , = t q
retorna (d , , )
Obsrvese que si se elimina lo marcado en azul, se obtiene de nuevo el algoritmo de Euclides.

3.3. Primos relativos


Dos enteros a, b se dice que son primos relativos (o primos entre s) si mcd(a, b) = 1.
Esta relacin se designa como a b:
ab mcd(a, b) = 1
Una propiedad fundamental:
a b

a | b c

a|c

4. Ecuacin diofntica
Una ecuacin diofntica lineal con dos incgnitas (para nosotros, simplemente ecuacin diofntica), es una
ecuacin
a x +b y = c
donde a, b, c son enteros y buscamos solo las soluciones enteras.

4.1. Soluciones
El resultado principal es
La ecuacin diofntica ax + b y = c tiene solucin si y slo si d = mcd(a, b) divide a c, y entonces tiene infinitas
soluciones.

La demostracin de la afirmacin anterior aporta de hecho un mtodo constructivo para resolver la ecuacin.
En efecto, como d divide a a y a b, si hay solucin (x 0 , y 0 ) entonces d |(ax 0 + b y 0 ) = c. Adems, en este caso, la
igualdad de Bzout a + b = d nos da una solucin particular (x 0 , y 0 ):
a + b = d a

c
c
c
+b = 
d
d
d
d


x0

y0

A partir de esta solucin particular podemos obtener todas las soluciones: si (x, y) es una solucin, entonces
ax + b y = ax 0 + b y 0 y de aqu
ax ax 0 = b y 0 b y a(x x 0 ) = b(y 0 y)

a
b
(x x 0 ) = (y 0 y) a 0 |b 0 (y 0 y)
d
d
a0

b0

Como a 0 + b 0 = 1 es a 0 b 0 y por tanto a 0 |(y 0 y), es decir existe un entero k tal que y 0 y = a 0 k de donde
y = y 0 a 0 k = dc da k. Si ahora sustituimos este valor de y en ax + b y = c, obtenemos que x = dc + db k.
Resumiendo estos resultados:
Si mcd(a, b) = d = a + b, entonces la ecuacin diofntica ax + b y = c tiene solucin si y solo si d |c y en este
caso hay infinitas soluciones:

c b
+ k
d d
c a
y = k
d d

x =

con k Z

4.2. Soluciones no negativas


Suponemos en lo que sigue que a y b son positivos (los otros casos se reducen fcilmente a ste o se estudian
de forma similar) y que la ecuacin tiene solucin.
Si buscamos solo soluciones no negativas, entonces hay que imponer las condiciones adicionales x 0, y 0:

x 0 dc + db k 0 c + bk 0 k c
b
j k
c
y 0 dc da k 0 c ak 0 c ak k a
j

c
a

< c
b entonces la ecuacin no tiene soluciones no negativas. En otro caso, la ecuacin tiene exactaj k

c
mente a c
b + 1 soluciones.

Si

5. Primos
Un entero p > 1 es primo si sus nicos divisores positivos son 1 y p. Un entero positivo que no es primo se dice
compuesto.

5.1. Propiedades fundamentales


Algunas propiedades bsicas:
Si p es primo y a es un entero, entonces p|a p a
Si p es primo y a 1 , . . . , a k son enteros, entonces p|a 1 . . . a k p divide a algn a i
p
Si n es compuesto, n es divisible por un entero menor o igual que
n
Si p > 5 es primo entonces p = 6k 1 para algn entero k.

La principal propiedad de los nmeros primos es que son los grandes divisores:
Todo entero mayor que 1 es divisible por un primo.

La demostracin por induccion en n > 1 es inmediata:


El caso inicial es n = 2, que es divisible por l mismo. Si lo suponemos para todo entero menor que n entonces
es cierto para n: si n es primo, ya est; si no, n es compuesto, n = a b con 1 < a < n y por hiptesis de induccin
a es divisible por un primo p y entonces p|n.

5.2. Criba de Eratstenes


El nico primo par es 2. Los nmeros primos menores que 20 son 2, 3, 5, 7, 11, 13, 17 y 19.
Eratstenes (276-194 AC) propuso el mtodo que lleva su nombre para generar todos los primos menores que
un entero n dado:
1. Se listan todos los nmeros desde 2 hasta n.
2

10

11

12

13

14

15

16

17

18

19

20

...

2. El primer
p nmero p = 2 no es divisible por ningn primo anterior (no los hay) luego es primo; entonces si
p > n , se detiene el proceso y todos los elementos que quedan en la lista son primos. Si no, se borran
todos los siguientes que sean mltiplos de p:
2

11

13

15

17

19

...

3. Como el siguiente entero p = 3 no puede


tener divisores primos anteriores (si no, estara borrado), l
p
mismo es primo; entonces si p >
n , se detiene el proceso y todos los elementos que quedan en la
lista son primos. Si no, se borran todos los siguientes que sean mltiplos de p:
2

11

13

17

19

...

4. Como el siguiente entero p = 5 no puede


tener divisores primos anteriores (si no, estara borrado), l
p
mismo es primo; entonces si p >
n , se detiene el proceso y todos los elementos que quedan en la
lista son primos (si n fuese 20, el proceso se detendra aqu). En otro caso, se borran todos los siguientes
que sean mltiplos de p.
2

11

13

17

5. As sucesivamente hasta que p, el primer elemento de la lista sea mayor que


elementos que quedan en la lista son primos.

19

p
n y entonces todos los

Este algoritmo se puede describir como


C RIBA DE E RATSTENES
entrada: n entero mayor que 1
salida: lista de todos los primos menores o iguales que n
l n = lista ordenada de todos los enteros k con 2 k n
l p = lista vaca
mientras l n no est vaca
p = primer elemento de l n
si p 2 > n
aade a l p todos los elementos de l n y vacia l n
en otro caso
aade p a l p y quita de l n todos los mltiplos de p
retorna l p
Se puede demostrar que la complejidad de este algoritmo es O (n log n log log n)

5.3. Factorizacin
A partir del hecho de que todo entero mayor que 1 es divisible por un primo, se demuestra que:
Todo entero n > 1 es producto de primos:

mk

n = p1 1 . . . pk

Si ordenamos los primos, p 1 < p 2 < . . . < p k , entonces esta descomposicin es nica.

La anterior es la llamada descomposicin de n en factores primos.


8

...

5.3.1. Bsqueda de un divisor primo


Usando las ideas de la Criba de Eratstenes y las propiedades estudiadas de los nmeros primos se puede
construir el siguiente algoritmo:
Entrada: n entero no negativo
Salida : el menor primo divisor de n
Si 2|n retorna 2
Si 3|nj p
retorna
k 3
m=

n+1
6

Para k = 1 hasta m
Si 6k 1|n retorna 6k 1
Si 6k + 1|n retorna 6k + 1
Retorna n
1. Este algoritmo siempre retorna el menor primo divisor de n.
Distinguimos dos casos:
Si n es un primo p entonces nunca se dan las condiciones de salida de dentro del bucle y se retorna
p, el menor primo que divide a n.
Si n es compuesto y p es el menor primo que divide a n entonces:
Si p = 2 o p = 3 se sale sin entrar en el bucle y se retorna p.
p
p
p
Si p > 3 entonces p = 6k 1. Tambin p
n de donde 6k 1 n 6k n + 1 k m
(notacin del algoritmo). Entonces el bucle llega a p y lo retorna.
1

2. El nmero de operaciones que hace el algoritmo es del orden O (n 2 ).


En efecto, antes del bucle se hacen una raz cuadrada y tres divisiones. En cada iteracin se hacen dos
divisiones y en eljcaso
ms
k desfavorable (n primo) el bucle se ejecuta m veces. As el nmero de divisiones
p
es 4 + 2m = 4 + 2

n+1
6

O (n 2 ).

Cunto tiempo podra llegar a tardar este algoritmo en encontrar un factor primo de n si n tuviera tuviera
1
256 bits? Como el algoritmo de de orden O (n 2 ), si n ' 2256 entonces el nmero de operaciones es del orden
1
256 2

(2 )
O ((2256 ) 2 ). Haciendo 1000000 de operaciones por segundo, esto supondra aproximadamente 1000000
' 341031
segundos y dividiendo este nmero de segundos entre 606024365 tendramos una aproximacin del nmero
de aos:

10.790.283.070.806.014.188.970.529 aos
5.3.2. Primer test de primalidad
Un test de primalidad es un algoritmo que decide si un nmero dado es primo o compuesto.
El algoritmo anterior puede ser usado como un test de primalidad: si el valor retornado p es igual a su entrada
n es que n es primo. Este test es determinista, ya que su respuesta es siempre segura.
El problema es que para enteros grandes no es eficiente.
5.3.3. Factorizacin por fuerza bruta
Si aplicamos el algoritmo a un entero n 1 = n encontramos p, un factor primo de n. Si a continuacin lo aplin
camos a n 2 = pi encontramos otro (puede que el mismo) y as sucesivamente, hasta que n i = 1 (o sea primo) y
entonces tenemos todos los factores primos de n. Por tanto:
El algoritmo anterior puede usarse para encontrar la factorizacin de cualquier nmero.

Ya hemos visto que este algoritmo no es viable para enteros grandes. Normalmente se combina con un paso
previo: usando una tabla precalculada (Eratstenes) de los primeros primos (tpicamente los primos menores
que 2000), se prueba a buscar divisores del nmero en esa tabla. Luego se aplica el algoritmo anterior (modificado para no repetir las divisiones anteriores).
El algoritmo resultante (con un aadido para saber si en cada paso el n que nos queda ya es primo, con lo que
habramos terminado) el el que se llama algoritmo de factorizacin por fuerza bruta.
5.3.4. Factorizacin de Fermat
En 1643 Mersenne desafi a Fermat a que ste factorizara el nmero 2027651281. Fermat contest rpidamente
2027651281 = 44021 46061. Cmo lo hizo?
La idea de Fermat consiste en que si n es impar, entonces si encontramos x, y tales que n = x 2 y 2 tendramos
n = (x + y)(x y). Si ninguno de estos factores es 1, tenemos dos divisores propios de n. El mtodo consiste
p
entonces en probar todos los x > n hasta que x 2 n sea cuadrado perfecto.
Esto se puede sistematizar en el siguiente algoritmo
FACTORIZACIN DE F ERMAT
entrada: n positivo impar
salida: un factor de n
p
x = (n)
y2 = x 2 n
// y 2 representa aqu y 2
mientras y 2 no sea un cuadrado
x = x +1
y2 = a2 n
p
retorna x y 2
Si n tiene ms de dos factores primos, este procedimiento primero encuentra la descomposicin con el menor
p
n
es el mayor factor
valor de x e y. Es decir, x + y es el menor factor mayor o igual que n. Por tanto, x y = x+y
p
menor o igual que n. Si el procedimiento devuelve n = 1 n, entonces n debe ser primo.
Si n es primo hacen falta O (n) pasos. Esta es desde luego una mala forma de demostrar la primalidad de un nmero. Pero si n tiene un factor prximo a su raz cuadrada, el mtodo funciona rpidamente. Concretamente,
p
si n tiene un factor que difiere de n en menos de (4n)1/4 , entonces el mtodo slo necesita un paso, y esto es
independiente del tamao de n.
En su forma ms simple, el mtodo de Fermat puede ser incluso ms lento que el de fuerza bruta, en el peor de
los casos. Sin embargo, la combinacin de ambos es ms efectivo que el uso exclusivo de uno de ellos.
Una gran mejora en los algoritmos de factorizacin se consigue combinando los mtodos anteriores con un
test eficiente de primalidad, para detener el algoritmo cuando encuentra un factor primo. El problema es que
por ahora no tenemos ese test.

6. Primos misteriosos
Hay infinitos primos.
Euclides demostr este
hecho de un

modo elegante, por reduccin al absurdo: si el conjunto de todos los


primos fuese finito p 1 , p 2 , . . . , p m entonces el nmero n = p 1 p 2 . . .p m +1 no sera divisible por ningn
primo.
Si (n) designa el nmero de primos menores o iguales que n, entonces para n grande
(n)

n
ln n

Este resultado es conocido como el Teorema de los nmeros primos.


Se cree que hay infinitos pares de nmeros primos de la forma p, p + 2.
Hay primos muy lejanos.

10

7. Buscando primos
Cmo se encuentra un nmero primo de un tamao determinado?
Si buscamos un primo de n bits podemos empezar construyendo un entero impar de n bits:
1

y ahora rellenamos cada bit eligindolo al azar. Tenemos entonces un impar de n bits. Ahora probamos si
es primo: si lo es, ya lo tenemos. Si no es primo, volvemos a sortear.
Este mtodo plantea dos preguntas:
1. Cmo sabemos que ya hemos encontrado un primo?
La respuesta es: usando un test de primalidad. El problema es que el nico test que tenemos es inviable
para nmeros grandes.
2. Cuntas veces tendremos que probar? ser un nmero inviable, o infinito?
Por el Teorema de los nmeros primos, una estimacin del nmero de primos menores o iguales que 2n
es
2n
2n
=
ln(2n ) n ln 2
Entonces la probabilidad estimada de encontrar un primo por el mtodo anterior es (valor aproximado
de casos favorables / casos posibles de impares):
2n
n ln 2
2n1

2
n ln 2

El nmero de intentos esperados hasta encontrar un primo sera la inversa de esta probabilidad:

n ln 2
2 .

Para n = 1024 la estimacin es de 354 intentos hasta encontrar un primo.


Est claro que un gran problema en todo lo visto es que no tenemos un test eficiente para decidir si un entero
es primo o no. Las buenas noticias son que pronto estudiaremos alguno.

11

ndice alfabtico
Algoritmo de Euclides, 4, 5
Extendido, 6
Algoritmo extendido de Euclides, 6
Algunos enteros famosos, 1

Primos relativos, 6
Propiedad cancelativa, 4
Propiedades bsicas de la divisibilidad, 4
Razn urea, 2

Bsqueda de un divisor primo, 9


Buscando primos, 11

Suelo, 3
Tamao de los nmeros, 3
Techo, 3
Teorema de los nmeros primos, 10, 11
Test de primalidad, 9, 11
Determinista, 9
Primera opcin, 9

Compuesto, 7
Criba de Eratstenes, 8
Descomposicin en factores primos, 8
Divide a, 3
Divisin
Cociente, 3
Eucldea, 3
Exacta, 3
Resto, 3
Divisor, 3
Divisores de cero, 4
Ecuacin diofntica, 6
Soluciones, 6
Soluciones no negativas, 7
Eratstenes, 8
Euclides, 24, 10
Euler, 2
Factorizacin
Fuerza bruta, 9
Factorizacin de Fermat, 10
Fermat
Factorizacin, 10
Nmeros de Fermat, 2
Primo de Fermat, 2
Fibonacci, 2
Igualdad de Bzout, 5
Infinitos primos, 10
Mximo comn divisor, 4
Mltiplo, 3
Mnimo comn mltiplo, 4
Mersenne, 2
Primo de Mersenne, 2
Nmeros enteros, 1
Parte entera, 3
Primos, 7
Descomposicin en factores primos, 8
Factorizacin, 8
Fuerza bruta, 10
Propiedades fundamentales, 7
Primos misteriosos, 10
12

Вам также может понравиться