CIC611 Cap2
CIC611 Cap2
CIC611 Cap2
Inducción matemática,
recursividad y aritmética
modular
Z+ = {n ∈ Z; n > 0}
29
30 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
i) 1 ∈ A
ii) Si k ∈ A, entonces k + 1 ∈ A,
a) S(1) es verdadera.
2. La condición que S(1) sea verdadera se puede sustituir por la condición que
S(n0 ) sea verdadera para algún n0 ∈ Z+ , como veremos más adelante.
n
X n(n + 1)
Ejemplo 2.1.1 Para cualquier n ∈ Z+ , i=
2
i=1
a) La base de la inducción es
1
X 1(1 + 1)
S(1) : i=1=
2
i=1
M. González
2.1. Inducción matemática 31
b) El paso inductivo es
S(k) implica S(k + 1), k ∈ Z+
Xk
k(k + 1)
S(k) : i=
2
i=1
Probaremos que S(k + 1) es también verdadera
k+1
X k
X k(k + 1) (k + 1)(k + 2)
S(k + 1) : i= i + (k + 1) = + (k + 1) =
2 2
i=1 i=1
Por tanto, del teorema 2.1.2, S(n) es verdadera ∀n ∈ Z+ , es decir que se cumple
la igualdad
n
X n(n + 1)
i= , ∀n ∈ Z+
2
i=1
Solución.- Sea
P (n) : 7n − 2n es divisible por 5.
Obsevar que la proposición
P (1) : 7 − 2 es divisible por 5
es verdadera.
Supongamos ahora que la proposición
P (k) : 7k − 2k es divisible por 5
es verdadera.
Probaremos que la proposición
P (k + 1) : 7k+1 − 2k+1 es divisible por 5
es también verdadera.
En efecto,
7k+1 − 2k+1 = 7k+1 − 7 · 2k + 7 · 2k − 2k+1
= 7(7k − 2k ) + 2k (7 − 2)
= 7(7k − 2k ) + 5 · 2k
Luego
P (k + 1) : 7k+1 − 2k+1 es divisible por 5
es una proposición verdadera.
Por lo tanto
7n − 2n es divisible por 5, ∀n ∈ Z+ .
M. González
32 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
a) n0 ∈ A
b) Si k ∈ A, k ≥ n0 , entonces k + 1 ∈ A,
a) P (n0 ) es verdadera.
(1 + a)n > 1 + n a , ∀n ≥ 2
(1 + a)k > 1 + k a
(1 + a)n > 1 + n a , ∀n ≥ 2
M. González
2.2. Recursividad 33
2.2. Recursividad
2.2.1. Introducción
La recursividad es un concepto fundamental tanto en Matemátca como en
Informática. En matemática aparece, por ejemplo, en la definición de sucesiones,
mientras que en Informática es una poderosa herramienta para definir estructu-
ras de datos (listas, árboles, etc.) y para escribir programas. Al respecto Niklaus
Wirth afirma:
... de todas formas, los algoritmos recursivos son apropiados principalmente cuan-
do el problema a resolver, la función a calcular o la estructura de datos a procesar
están ya definidos en forma recursiva.
P=f(P,Q)
P=f(Q) y Q=g(P,R)
a) 1 es un número natural.
a) Fact(0)=1
M. González
34 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
b) Fact(n)=n*Fact(n-1) , n ≥ 1
Program factorial;
var N:Integer;
Function Fact(N:Integer):Integer;
begin
If N=0 Then
Fact:=1
Else
Fact:=N*Fact(N-1)
end;
begin
write(”Ingrese un entero no negativo : ”);
read(N);
while N< 0 do
begin
write(”Ingrese un entero no negativo : ”);
read(N);
end;
writeln;
writeln(Fact(N))
end.
a) a0 = 1
b) an = a ∗ an−1 , n ≥ 1
Program Potencia;
var a,n:Integer;
Function Pot(a,n:Integer):Integer;
begin
M. González
2.2. Recursividad 35
if n=0 then
Pot:=1
else
Pot:=a*Pot(a,n-1)
end;
begin
write(”Ingrese un entero positivo (base) : ”);
read(a);
while a<= 0 do
begin
write(”Ingrese un entero positivo (base) : ”);
read(a);
end;
write(”Ingrese un entero no negativo (exponente): ”);
read(n);
while n< 0 do
begin
write(”Ingrese un entero no negativo (exponente) : ”);
read(n);
end;
writeln(Pot(a,n))
end.
M. González
36 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Program Fibonacci;
var n:Integer;
Function Fibo(n:Integer):Integer;
begin
if (n=0) or (n=1) then
Fibo:=1
else
Fibo:=Fibo(n-1)+Fibo(n-2)
end;
begin
write(”Ingrese un entero no negativo : ”);
read(n);
while n< 0 do
begin
write(”Ingrese un entero no negativo : ”);
read(n);
end;
writeln;
writeln(Fibo(n))
end.
FiboH6L
FiboH5L FiboH4L
M. González
2.2. Recursividad 37
Ejemplo 2.2.7 Con palillos de fósforos se forma figuras en filas como las mos-
tradas en la Figura 2.2. ¿Cuántos palillos de fósforos se tendrá en la n-ésima fila
?
M. González
38 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Fila 1
Fila 2
Fila 3
de aquı́, es claro que para construir la fila n-ésima basta agregar dos palillos a
cada lado de la figura correspondiente a la fila anterior, fila (n − 1)- ésima, en
consecuencia, se tiene la sucesión
s(1) = 3
s(n) = s(n − 1) + 4; ∀n ≥ 2.
Gana el jugador que use el menor número de movimientos para pasar todos los
discos de una clavija a otra.
M. González
2.2. Recursividad 39
T (n) = 2 T (n − 1) + 1 ; ∀n ≥ 2
movimientos.
M. González
40 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
DyV(problema P)
Inicio
Si P ¹ pequeño Entonces
devolver solucion trivial(P)
en otro caso
Inicio
dividir P en P1 , P2 , ..., Pn
desde i = 1 hasta n
solucioni ← DyV(Pi )
Devolver combinacion(solucion1 , solucion2 , ..., solucionn )
Fin
Fin
a) b(0) = 1, b(1) = 1
M. González
2.2. Recursividad 41
ii) Si a 6= 0 y b = 0,
s(2) = a s(1)
s(3) = a s(2) = a2 s(1)
s(4) = a s(3) = a3 s(1)
..
.
s(n) = a s(n − 1) = an−1 s(1)
Ası́ se tiene una fórmula explı́cita para s(n),
iii) Si a = 0 y b 6= 0,
s(2) = b s(0)
s(3) = b s(1)
s(4) = b s(2) = b2 s(0)
s(5) = b s(3) = b2 s(1)
s(6) = b s(4) = b3 s(0)
s(7) = b s(5) = b3 s(1)
En general,
s(2k) = bk s(0) , k ≥ 1
s(2k + 1) = bk s(1) , k ≥ 1
Con lo cual, también, se tiene una fórmula explı́cita para s(n)
iv) Si a 6= 0 y b 6= 0.
Observando los casos anteriores, supongamos que s(n) = c rn para alguna
constante c 6= 0. Luego reemplazando en la ecuación (2.1) resulta
M. González
42 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
c rn = a c rn−1 + b c rn−2
ó
r2 = a r + b, r 6= 0
esto significa que si s(n) = c rn , entonces r debe ser una raı́z de la ecuación
cuadrática
x2 − a x − b = 0
que se denomina ecuación caracterı́stica de la sucesión s(n).
s(0) = s0
s(1) = s1
s(n) = a s(n − 1) + b s(n − 2) ; n ≥ 2
x2 − a x − b = 0; a, b ∈ R.
s(n) = c1 rn + c2 n rn
Observaciones 2.2.1
M. González
2.2. Recursividad 43
M. González
44 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
M. González
2.3. División en los números enteros 45
Teorema 2.2.2 Para cada proceso recursivo existe un poceso iterativo y recı́-
procamente.
M. González
46 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Algoritmo de la división
1. Inicio
2. Ingrese dos numeros enteros positivos m y n {*division m entre n*}
3. P ←0
4. R←m
5. Si R < n hacer
p←P
r←R
en otro caso hacer
P ←P +1
R←R−n
volver al paso 5
6. Escribir: cociente p y residuo r
7. Fin del algoritmo
M. González
2.3. División en los números enteros 47
1. 1|b , a|0
M. González
48 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
donde p1 < p2 < p3 < · · · < pl son los distintos números primos que dividen a
n y ki es un entero positivo que indica el número de veces que pi aparece como
factor de n, i = 1, 2, 3, · · · , l.
donde
M. González
2.3. División en los números enteros 49
M CD(a, b)
Algoritmo de Euclı́des
El algoritmo de Euclı́des permite determinar el máximo común divisor de dos
enteros positivos a y b.
Para mostrar como funciona este algoritmo consideremos dos enteros positivos a
y b que, sin pérdida de generalidad, podemos suponer a > b > 0.
Por el algoritmo de la división existen k1 , r1 ∈ N; k1 > 0, 0 ≤ r1 < b tales que
a = k1 b + r1
b = k2 r1 + r2 ; 0 ≤ r2 < r1
r1 = k3 r2 + r3 ; 0 ≤ r3 < r2
r2 = k4 r3 + r4 ; 0 ≤ r4 < r3
r3 = k5 r4 + r5 ; 0 ≤ r5 < r4
..
.
rj = kj+2 rj+1 + rj+2 ; 0 ≤ rj+2 < rj+1
..
.
rn−1 = kn+1 rn + rn+1 ; 0 ≤ rn+1 < rn
M. González
50 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Prueba.-
⇒) Si c divide a a y b, como a = k1 b + r1 , entonces c|r1 .
⇐) Si c divide a b y a r1 , siendo a = k1 b + r1 , entonces c|a.
Volviendo a la prueba de la afirmación vemos que, por la proposición 2.3.1, los
divisores comunes de a y b son los mismos que los divisores comunes de b y r1 ,
en consecuencia
M CD(a, b) = M CD(b, r1 )
M CD(b, r1 ) = M CD(r1 , r2 )
M CD(a, b) = rn
Funcion MCD(a, b)
1. Repetir mientras a 6= b
Si a > b entonces
a←a−b
en otro caso
b←b−a
2. Retornar (a)
3. Fin del algoritmo
M. González
2.3. División en los números enteros 51
M CD(a, b) = s a + t b
Prueba.- Sea
X = {sa + tb > 0; s, t ∈ Z}
Se puede ver fácilmente que X es un subconjunto no vacio de Z+ . Por el principio
del buen orden X tiene elemento mı́nimo. Sea d = min{sa + tb > 0; s, t ∈ Z}, es
decir que d = s0 a + t0 b para ciertos enteros s0 , t0 ∈ Z.
Afirmación
a) d| x; ∀ x ∈ X
b) d = M CD(a, b)
En efecto,
x1 = p d + r ; 0 < r < d
ó
s1 a + t1 b = p d + r ; 0 < r < d.
Luego
M. González
52 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
s0 a + t0 b = 1
4323 = 475 × 9 + 48
475 = 48 × 9 + 43
48 = 43 × 1 + 5
43 = 5 × 8 + 3
5=3×1+2
3=2×1+1
2=1×2+0
428 = 384 × 1 + 44
384 = 44 × 8 + 32
44 = 32 × 1 + 12
32 = 12 × 2 + 8
12 = 8 × 1 + 4
8=4×2+0
4 = 12 − 8 × 1
= 12 − (32 − 12 × 2) = 12 × 3 − 32
= (44 − 32 × 1) × 3 − 32 = 44 × 3 − 32 × 4
= 44 × 3 − (384 − 44 × 8) × 4 = 44 × 35 − 384 × 4
= (428 − 384) × 35 − 384 × 4
= 428 × 35 − 384 × 39
= 35 × 428 + (−39) × 384
M. González
2.3. División en los números enteros 53
M. González
54 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
¡ 1 m2 mk ¢ ¡ n1 n2 ¢
= pm 1 p2 · · · pk p1 p2 · · · pnk k
=a·b
2.4.1. Anillos
Definición 2.4.1 Sea A un conjunto no vacı́o. En él se definen dos operaciones
binarias denotadas con ⊕ y ¯
⊕ : A × A −→ A ¯ : A × A −→ A
(a, b) Ã a ⊕ b (a, b) Ã a ¯ b
M. González
2.4. Anillos y aritmética modular 55
Ejemplo 2.4.1 El conjunto de números enteros, (Z, +, ·), con la adición, (+), y
la multiplicación, (·), habituales, es un anillo. Donde e = 0 y el inverso aditivo de
n ∈ Z es −n . También el conjunto de números racionales, (Q, +, ·), y el conjunto
de números reales, (R, +, ·), son anillos.
Observaciones 2.4.1
i) a · b = b · a
ii) a · b = 0 si y sólo si a = 0 ó b = 0 (el elemento identidad no tiene
divisores propios).
2. En (M2 (Z), +, ·)
M. González
56 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Ejemplo 2.4.3 (R, +, ·) es un anillo conmutativo con elemento unitario u=1 que
no tiene divisores propios de cero.
· ¸
1 0
Ejemplo 2.4.4 (M2 (Z), +, ·) es un anillo con elemento unitario u =
0 1
que tiene divisores propios de la identidad (observaciones 2.4.1.2.ii).
Ejemplo 2.4.5 Sea X = {0, 1} y A = ℘(X) = {∅, {0}, {1}, {0, 1}} y definamos
en A las operaciones ⊕ y ¯ mediante
R ⊕ S = R∆S y R¯S =R∩S
Ası́, (A, ⊕, ¯) es un anillo conmutativo con elemento unitario u = {0, 1} que tiene
divisores propios de la identidad. Identifique el elemento identidad, e, y pruebe
que tiene divisores propios.
Teorema 2.4.1 Sea (A, ⊕, ¯) un anillo con elemento identidad e. Para cualquier
a ∈ A se cumple que
a¯e=e¯a=e
Solución.- Si e es el elemento identidad de A entonces e ⊕ e = e y para cualquier
elemento a ∈ A
a ¯ e = a ¯ (e ⊕ e) = (a ¯ e) ⊕ (a ¯ e)
Pero (a ¯ e) ⊕ e = a ¯ e, entonces
(a ¯ e) ⊕ e = (a ¯ e) ⊕ (a ¯ e)
M. González
2.4. Anillos y aritmética modular 57
x¯y =e=x¯e
M. González
58 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
A = {a1 , a2 , · · · , an }.
Sea b ∈ A, b 6= e y
b ¯ A = {b ¯ a1 , b ¯ a2 , · · · , b ¯ an },
a ≡ b (mod n)
Ejemplos 2.4.1
1) a ≡ a (mod n) ; ∀a ∈ Z
M. González
2.4. Anillos y aritmética modular 59
Observaciones 2.4.2
M. González
60 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
Ejemplos 2.4.2
b) Consideremos ahora Z5
+ 0 1 2 3 4 · 0 1 2 3 4
0 0 1 2 3 4 0 0 0 0 0 0
1 1 2 3 4 0 1 0 1 2 3 4
2 2 3 4 0 1 2 0 2 4 1 3
3 3 4 0 1 2 3 0 3 1 4 2
4 4 0 1 2 3 4 0 4 3 2 1
En Z5 todos los elementos distintos de cero tienen inverso multiplicativo,
en consecuencia Z5 es un campo.
M. González
2.4. Anillos y aritmética modular 61
M. González
62 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
La función
ϕ : Z+ −→ Z+
n à ϕ(n) = η(Sn )
donde ϕ(n) = η(Sn ) =número de enteros entre 1, 2, 3, 4, · · · n que son coprimos
con n, se denomina función de Euler.
Algunos valores de esta función son
M. González
2.4. Anillos y aritmética modular 63
ϕ(p q) = p q − p − q + 1 = (p − 1)(q − 1)
aϕ(n) ≡ 1 (mod n)
Solución.- Sea
Sn = {r1 , r2 , r3 , · · · , rϕ(n) },
el conjunto de los enteros entre 1, 2, 3, · · · , n que son coprimos con n.
Afirmación 1
Si M CD(a, n) = 1, entonces los enteros
a r1 , a r2 , a r3 , · · · , a rϕ(n)
M. González
64 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
un entero k > 1 tal que k|a ri y k|n lo cual implica que (k|a ó k|ri ) y k|n o
que es lo mismo (k|a y k|n) ó (k|ri y k|n), cualquier caso contradice al hecho que
M CD(a, n) = 1 ó al hecho M CD(ri , n) = 1.
Afirmación 2
Los enteros a r1 , a r2 , a r3 , · · · , a rϕ(n) no son congruentes dos a dos módulo n.
En efecto,
supongamos lo contrario, es decir que para algunos i, j con 1 ≤ i < j ≤ ϕ(n)
a ri ≡ arj (mod n)
d a ≡ 1 (mod n)
luego
ri ≡ 1 · ri (mod n)
≡ (d a) ri (mod n)
≡ d (a ri ) (mod n)
≡ d (a rj ) (mod n)
≡ (d a) rj (mod n)
≡ rj (mod n)
que es una contradicción.
La afirmación 2 nos permite concluir que cada uno de los números
a r1 , a r2 , a r3 , · · · , a rϕ(n) es congruente mod n con solamente uno de los enteros
r1 , r2 , r3 , · · · , rϕ(n) .
En consecuencia
r1 r2 r3 · · · rϕ(n) ≡ (a r1 ) (a r2 ) (a r3 ) · · · (a rϕ(n) )(mod n)
≡ aϕ(n) r1 r2 r3 · · · rϕ(n) (mod n)
r1 r2 r3 · · · rϕ(n) s ≡ 1 (mod n)
Luego
1 ≡ r1 r2 r3 · · · rϕ(n) s (mod n)
≡ (aϕ(n) r1 r2 r3 · · · rϕ(n) ) s (mod n)
≡ aϕ(n) (r1 r2 r3 · · · rϕ(n) s)(mod n)
≡ aϕ(n) (mod n)
M. González
2.4. Anillos y aritmética modular 65
o equivalentemente
aϕ(n) ≡ 1 (mod n)
aϕ(n) ≡ 1 (mod n)
luego
aϕ(n)−1 a ≡ 1 (mod n)
de donde se concluye la afirmación del corolario.
Sistema RSA
Este método de encriptación de mensajes se apoya fundamentalmente en el teo-
rema 2.4.12 y en el hecho de que se requiere de mucho tiempo para factorizar
números enteros grandes (de más de 200 dı́gitos). La idea es bastante simple. Se
considera dos números primos diferentes p y q suficientemente grandes, de alre-
dedor de 100 dı́gitos cada uno. Los valores de p y q constituyen parte de la clave
secreta, mientras que el valor de n = p q es parte de la clave pública y se denomina
el módulo del código. El valor de la función de Euler de n, ϕ(n) = (p−1)(q −1),
también debe ser guardado en secreto.
M. González
66 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
M CD(ei , ϕ(n)) = 1
y
ei di ≡ 1 (mod ϕ(n))
Supongamos que un usuario cualquiera del sistema desea enviar al usuario i
un mensaje precodificado x (x ∈ Z+ , x < n).
El mensaje codificado, C(x, ei ) = c, se obtiene mediante
Observaciones 2.4.3
ϕ(n) = (p − 1)(q − 1) = p q − p − q + 1 = n − p − q + 1
de donde se tiene
p + q = n − ϕ(n) + 1 (2.3)
Por otro lado
M. González
2.4. Anillos y aritmética modular 67
Algoritmo RSA
1. Generar dos números primos diferentes p, q.
2. Calcular n = p q, ϕ(n) = (p − 1)(q − 1).
3. Elegir enteros (llaves públicas) e1 , e2 , · · · , em con 1 < ei < ϕ(n)
tales que M CD(ei , ϕ(n)) = 1; i = 1, 2, · · · , m
4. Calcular enteros (llaves privadas) di ; i = 1, 2, · · · , m
donde di ei ≡ 1 (mod ϕ(n)).
5. El emisor calcula c ≡ xei (mod n) con la llave
pública (n, ei ) {* mensaje codificado *}
6. El receptor recupera el mensaje mediante x ≡ cdi (mod n),
con su llave privada di {* mensaje decodificado *}
7. Fin
M. González
68 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
A B C D E F G H I J K L M N
120 121 122 123 124 125 126 127 128 129 130 131 132 133
O P Q R S T U V W X Y Z ···
134 135 136 137 138 139 140 141 142 143 144 145 ···
(* cambio de linea *)
nl := FromCharacterCode[13];
(* Funcion de Euler *)
FuncionEuler[n_] := Dimensions[
DeleteCases[Table[If[GCD[k, n] == 1, k, 0], {k, 1, n}], 0]][[1]];
i = 11; (* para usar el i-esimo numero primo como el valor de p *)
j = 7; (* para usar el j-esimo numero primo como el valor de q *)
p=Prime[i]; q = Prime[j];
n = p*q;
(* Generacion de claves *)
M. González
2.4. Anillos y aritmética modular 69
Clavepri := Table[PowerMod[Clavepub[[k]],
FuncionEuler[FuncionEuler[n]] - 1,
FuncionEuler[n]], {k, 1, Dimensions[Clavepub][[1]]}];
(* mensaje original *)
mensaje := "HOLA";
(* mensaje codificado *)
mcod := Table[ PowerMod[mensajeprecod[[j]], Clavepub[[i]], n], {i,
1, Dimensions[Clavepub][[1]]}, {j, 1,
Dimensions[mensajeprecod][[1]]}];
(* mensaje decodificado *)
mdecod := Table[PowerMod[mcod[[j]][[i]], Clavepri[[j]], n], {j, 1,
Dimensions[Clavepri][[1]]}, {i, 1, Dimensions[mensajeprecod][[1]]}];
mensajeOut:=FromCharacterCode[mdecod[[1]] - 55];
(* impresion de resultados *)
Print[nl, nl, "p= ", p, " ; ", "q= ", q, " ; ", "n= ", n, " ; ", "\
\[Phi](n)= ", FuncionEuler[n], nl,
nl, "Mensaje original", nl, mensaje, nl, nl, "Mensaje precodificado \
", nl, mensajeprecod, nl, nl,
"Claves publicas", nl, MatrixForm[usuarios],
MatrixForm[Clavepub], nl, nl, "Mensaje codificado ", nl,
M. González
70 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
MatrixForm[usuarios],
MatrixForm[mcod], nl, nl, "Claves privadas", nl,
MatrixForm[usuarios],
MatrixForm[Clavepri], nl, nl, "Mensaje decodificado", nl,
MatrixForm[usuarios],
MatrixForm[mdecod], nl, nl, "Mensaje final", nl, mensajeOut]
Para mostrar una corrida del algoritmo consideremos el siguiente ejemplo. Por
razones obvias se considera los números primos p y q pequeños.
Consideremos los números primos p = 17 y q = 31 entonces n = 527 y
ϕ(527) = (17 − 1)(31 − 1) = 480
Para elegir las claves tanto públicas como privadas se requiere hallar elemen-
tos de Z480 que tienen inverso multiplicativo. Para ello bastará hallar, según el
teorema 1.8, enteros, a, coprimos con 480.
Asumiremos que se tiene 5 usuarios y sus respectivas claves son
Ahora suponga que el responsable del sistema envı́a a todos los usuarios el
mensaje
HOLA
El mensaje precodificado, de acuerdo a las identificaciones previamente estable-
cidas, es
127 134 131 120
El mensaje codificado que recibirá cada usuario se muestra en la siguiente tabla:
2 12743 = 427 13443 = 9 131143 = 329 12043 = 494 427 9 329 494
3 127209 = 331 134209 = 338 131209 = 505 120209 = 426 331 338 505 428
4 127161 = 416 134161 = 236 131161 = 454 120161 = 120 416 236 454 120
269 269 269
5 127 = 145 134 = 121 131 = 133 120269 = 426 145 121 133 426
M. González
2.5. Ejercicios 71
1 104467 = 127 417467 = 134 227467 = 131 494467 = 120 127 134 131 120
2 42767 = 127 967 = 134 32967 = 131 49467 = 120 127 134 131 120
3 331209 = 127 338209 = 134 505209 = 131 426209 = 120 127 134 131 120
4 416161 = 127 236161 = 134 454161 = 131 120161 = 120 127 134 131 120
5 145389 = 127 121389 = 134 133389 = 131 426389 = 120 127 134 131 120
la última columna de la tabla muestra los mismos valores para todas las filas, que
al ser traducidos en caracteres, cada usuario recibe el mensaje original
HOLA
Observación 2.4.1 Notar que en ambas tablas las potencias se calculan módulo
527.
2.5. Ejercicios
1. Usando inducción matemática pruebe la veracidad de las siguientes propo-
siciones:
a) 2 + 4 + 6 + · · · + 2n = n(n + 1)
b) 1 + 3 + 5 + · · · + (2n − 1) = n2
Xn
n(n + 1)(2n + 1)
c) i2 =
6
i=1
n
X 1 n
d) =
i(i + 1) n+1
i=1
e) 2n−1 ≤ n! , ∀n ∈ Z+
n
X (2n + 1)2
f) i<
8
i=1
g) (cos θ + ı sen θ)n = cos(n θ) + ı sen(n θ); n ≥ 1
2. Pruebe que n2 ≤ 2n , ∀n ≥ 4
M. González
72 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
n
X
b) Pruebe que H(j) = (n + 1)H(n) − n , n ∈ Z+
j=1
1
c) Pruebe que H(2n) ≥ H(n) + , ∀n ≥ 1
2
n n
d) Pruebe que H(2 ) > , ∀n ≥ 1
2
4. Dado un conjunto de N números reales, escriba algoritmos recursivos para
calcular
a) La suma de los N números.
b) El producto de los N números.
c) El promedio de los N números.
5. La sucesión de Fibonacci se define mediante
F (0) = 1 ; F (1) = 1
F (n + 1) = F (n) + F (n − 1) ; n ≥ 1
a) Encuentre una fórmula explı́cita para F (n).
b) Pruebe que
F (n) ≤ ( 53 )n ; n ≥ 0
Pn
c) F 2 (k) = F (n) · F (n + 1)
k=1
d) Pruebe que √
lı́m FF(n+1)
(n) =
1+ 5
2
n→+∞ √
1+ 5
El número 2 se denomina razón aúrea o número de oro.
e) Pruebe que para todos los enteros positivos n y m tales que n > m se
cumple la siguiente igualdad:
M. González
2.5. Ejercicios 73
11. Halle la solución general para cada una de las ecuaciones en diferencias
siguientes:
15. Usando el algoritmo del ejercicio anterior escriba un algoritmo para en-
contrar todos los números primos menores o iguales a un entero positivo
dado.
19. Sea E = N − {0, 1}. Para cada i ∈ E defina Xi = {ik; k ∈ E}. Determine el
S
+∞
conjunto E− Xi .
i=2
M. González
74 Capı́tulo – 2. Inducción matemática, recursividad y aritmética modular
a) ϕ(n) = 18
b) ϕ(n) = 10
c) ϕ(n) = 14
M. González
2.5. Ejercicios 75
M. González