e Industrial
ASIGNATURA : INTROD. A LA MATEMATICA DISCRETA
PROFESOR : Ricardo Chung
AULA : B415 – B403
III Ciclo – Regular - Noche – X - Procou
FECHA : lunes 16 de enero del 2011 – 2011 - 1
TEMA : IM – Combinatoria – Numeración - Algoritmos
n n n
(A) S(n) = 2k - 1 (B) S(n) = k 4 (C) S(n) = k 3
k =1 k =1 k =1
n-1 n 1 n
(D) S(n) = 2k (E) S(n) = (F) S(n) = (-1)k+1k 2
k=0 k =1
k(K + 1) k =1
n n n
k
(G) S(n) = k(K + 1) (H) S(n) = x (I) S(n) = 1+ 3(k - 1)
k =1 k=0 k =1
n n n
(J) S(n) = Ak (K) S(n) = Ak (L) S(n) = 1+ 3(k - 1)
k=1 k=1 k =1
(M) Si D(n) es el Número de Diagonales que pueden ser
trazados en un Polígono Convexo de "n" lados
(N) Si S(n) es la Suma de los ángulos interiores de un
Polígono Convexo de "n" lados.
(O) Si R(n) es la cantidad de regiones que n rectas, NO todas
convergentes en un mismo punto, divide a un círculo.
(P) S(n) = 1+ 21 + 22 + 23 + 2 4 + .... + 2n (Q) S(n) = 5 +10 +15 + 20 + 25 + .... + 5n
(R) S(n) = 1+ 5 + 9 +13 +17 + .... + (4n - 3) (S) S(n) = 14 + 2 4 + 3 4 + 4 4 + 5 4 + ..... +n4
2
5. Un examen de admisión de cierta universidad, consta de 2 preguntas
para responder con V o F, 3 con 5 respuestas múltiples signadas como
A, B, C, D y E. ¿De cuántas formas se puede responder el examen?
6. ¿Cuántos números telefónicos de 5 dígitos tienen un dígito que aparece
más de una vez?
7. ¿De cuántas maneras se pueden colocar 4 neumáticos en un auto?
8. ¿Cuántas Palabras de longitud 3, sin repetir signos, pueden escribirse
con un alfabeto de 256 letras?, teniendo en cuenta que no deben
aparecer nunca juntos los símbolos “a” y “b”
9. Por un Canal de Comunicación, se va a transmitir un mensaje utilizando
12 símbolos diferentes. Además de estos 12 símbolos, el transmisor
también enviará un total de 45 espacios en blanco entre los símbolos,
con tres espacios como mínimo entre cada par de símbolos
consecutivos. ¿De cuántas formas se podrá enviar el mensaje?
10. Queremos alinear a ocho personas A, B, C, D, E, F, G y H de modo que A
y H estén en los extremos, B y C estén juntas y F y G estén separados.
¿De cuántas formas podremos podrá hacerlo?
11. Supongamos que en las manos de unos lingüistas cayó un texto escrito
mediante 26 signos desconocidos. Estos símbolos son letras que
representan uno de los 26 sonidos del idioma. ¿De cuántas maneras se
pueden hacer corresponder los sonidos a los signos del idioma?
12. Siete muchachas forman una ronda. ¿De cuántas maneras distintas se
pueden colocar en círculo?
13. Una sociedad científica esta formada por 25 personas. Es necesario elegir al
presidente de la sociedad, al vice-presidente, al secretario científico y al
tesorero. ¿de cuantas formas se puede efectuar esta elección, si cada
miembro de la sociedad puede ocupar sólo un cargo?
14. ¿De cuántas formas se pueden colocar en el tablero de ajedrez 8 torres
de modo que no se puedan comer una a la otra?
15. Se tienen n banderines de señales distintos y k mástiles, en los cuales
éstos se cuelgan. El sentido de la señal depende del orden en que están
colgados los banderines. ¿De cuántas maneras se los puede colgar, si
deben ser utilizados todos ellos, pero algunos mástiles pueden resultar
vacíos?
16. Cada celda de la memoria principal de la computadora tiene asignado
un nombre único conocido como su Dirección, el cual se representa con
una cadena de ceros y unos, a estos dígitos se les llama bits. Una
cadena de 8 bits es llamada un Byte. ¿Cuántas direcciones de celdas
de memoria se puede lograr con una computadora que utiliza
direccionamiento de:
A) Un Byte B) Dos Bytes C) Cuatro Bytes
3
Sistema de Numeración :
N = abcdefgn DIGITOS : b, c, d, e, f, g 0, 1, 2, 3, 4, 5, 6.....
BASE : n 2, 3, 4, 5, 6..... a 1, 2, 3, 4, 5, 6.....
a, b, c, d, e, f, g < n
N = a.n6 +b.n5 + c.n4 + d.n3 + e.n2 + f.n + g
26. Si los siguientes números están bien escritos hallar k+r 351k ; 4k2r ; r468
4
30. Hallar, si es posible :
A) 213x en la base x +1 B) 0, 478 en la base 6
31. Hallar el MCM(A, B), si
A) A - B = 77 y los cocientes sucesivos obtenidos al hallar
su MCD por el Algoritmo de Euclides fueron 1, 3, 1, 4 y 2 .
B) A +B = 756 y los cocientes sucesivos obtenidos al hallar
su MCD por el Algoritmo de Euclides fueron 2, 1, 1 y 2 .
32. Convertir los siguientes números :
A) N = 1 011012 a la base 4, 8, 16
B) N = 3 012124 a la base 2, 8, 16
C) N = 5 076018 a la base 2, 4, 16
D) N = A 972CD0E16 a la base 2, 4, 8
33. Convertir los siguientes números :
A) N = 0.1 011012 a la base 4, 8, 16
B) N = 2. 3 012124 a la base 2, 8, 16
C) N = 4. 5 076018 a la base 2, 4, 16
D) N = 7. A 972CD0E16 a la base 2, 4, 8
34. Realizar las operaciones indicadas :
A) 1 011012 + 3 032124 B) 3012578 - 5076018
C) A 972CD0E16 * 6 D) 2 * 3012579 - 4 * 5076018 + 8 * 203401 5
E) 431678 + 251568 F) 101002 + 10102 + 11112 + 10112
G) 78049 45679 G) 53327 - 23357
35. Realizar las operaciones indicadas :
A) Si a +b + c = 21. Hallar S = abc +bca + cab
B) S = aaa 8 +bbb 8 + ccc 8 si a +b + c = 14
C) Si abc5 - cba5 = mn35 Hallar m2 +n2
D) Si abc5 - cba5 = mnp5 Hallar mmm7 + nnn7 +ppp 7
E) Hallar 2578 x368 F) 4135 x234 5
43215 7 837169
G) Hallar H) Hallar
67 79
23174 8 210313 4
I) Hallar J) Hallar
578 103 4
K) Hallar CA(257 ) + CA(5319 ) + CA(253418 ) en base 6
L) Hallar la suma de las cifras de 3426 x 555....555 6
30 cifras
5
36. Sea N un número de cinco cifras. Si a dicho número le colocamos un 7
a la izquierda se obtiene otro número que es quíntuplo del número que
se obtendría al colocar el 7 a la derecha.
TABLERO DE EUCLIDES
DIV Q1 Q2 Q3 Q4 ……. ……. ……. Qn+1 Qn+2
A B R1 R2 R3 ……. ……. ……. Rn Rn+1
MOD R1 R2 R3 R4 ……. ……. Rn Rn+1 0
6
CRIPTOGRAFIA : Sistema RSA
er
1 PASO Leer p, q, n números primos
do
2 PASO Calcular z = p * q = (p - 1) * (q - 1)
3 PASO Hallar s 0, / (n * s) MOD = 1
er
7
A) C = 47 B) C = 10 C) C = 52 D) C = 35
E) C = 138 F) C = 89 G) C = 21 H) C = 73
I) C = 114 J) C = 266 K) C = 102 L) C = 63
8
1.1 Algoritmos
Escribir un programa de ordenador para resolver un problema comprende varios pasos que van
desde la formulación y especificación del problema, el diseño de la solución, su implementación,
prueba y documentación, hasta la evaluación de la solución. Según Aho, Hopcroft y Ullman [1], “la
mitad del trabajo es saber qué problema se va a resolver”. En general, se puede recurrir a casi
cualquier rama de las matemáticas y de las ciencias para obtener un modelo de cierto tipo de
problemas. Cuando ya se cuenta con un modelo matemático adecuado del problema, puede
buscarse una solución en función de ese modelo. El objetivo inicial consiste en hallar una solución
en forma de algoritmo, que es una secuencia finita de instrucciones, cada una de las cuales tiene
un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito.
Las instrucciones de un algoritmo pueden ejecutarse cualquier número de veces, siempre que ellas
mismas indiquen la repetición. No obstante, se exige que un algoritmo termine después de ejecutar
un número finito de instrucciones sin importar cuáles fueron los valores de entrada. Así, un
programa es un algoritmo mientras no entre en un ciclo infinito con ninguna entrada.
Los principales recursos que suelen tenerse en cuenta a la hora de evaluar la eficiencia de
un algoritmo son el espacio de memoria que necesita y el tiempo de ejecución. La eficiencia en
memoria o complejidad espacial de un algoritmo indica la cantidad de almacenamiento necesario
para ejecutar el algoritmo; es decir, el espacio de memoria que ocupan todas las variables
utilizadas por el algoritmo. Suele ser fácil calcular la memoria estática de un algoritmo, ya que sólo
hay que sumar la memoria ocupada por todas las variables declaradas en el algoritmo. Sin
9
embargo, el cálculo de la memoria dinámica no es tan fácil, debido a que ésta depende de cada
ejecución concreta del algoritmo. La eficiencia en tiempo o complejidad temporal de un algoritmo
indica el tiempo que requiere para su ejecución.
Hay tres factores que influyen en el cálculo de la complejidad temporal: el tamaño de los
datos de entrada, el contenido de los datos de entrada, y el ordenador y el código generado por el
compilador, siendo el más importante, para medir la eficiencia de un algoritmo, el referente al
tamaño de los datos de entrada. El tamaño de un ejemplar x se corresponde formalmente con el
número de dígitos binarios necesarios para representarlo en el computador. No obstante lo
anterior, se suele identificar el tamaño con el número de elementos lógicos contenidos en el
ejemplar. Por ejemplo, un problema consistente en ordenar n enteros será considerado de tamaño
n, aunque se necesite en la práctica más de un dígito binario para representar cada entero.
Cuando se trate de problemas numéricos, como el cálculo del factorial de un número, la eficiencia
se expresará en función del valor del dato considerado y no en función de su tamaño (que sería la
longitud de la representación binaria de dicho valor).
En relación con el segundo factor, el contenido de los datos de entrada, hay dos
estrategias posibles en el cálculo de la complejidad temporal: estudiar la eficiencia en el caso peor
y el estudio de la eficiencia en el caso medio. La primera de las estrategias consiste en, fijado un
tamaño del problema, analizar la eficiencia del algoritmo en aquellas situaciones en las que emplea
más tiempo y teniendo como objetivo la obtención de una cota superior del tiempo de ejecución del
algoritmo. El estudio de la eficiencia en el caso medio plantea la necesidad de conocer el tiempo
de ejecución del algoritmo en todas las situaciones y la frecuencia con que éstas se presentan; es
decir, su distribución de probabilidades. Esta distribución suele ser difícil de conocer, por lo que
10
han de realizarse hipótesis cuya fiabilidad es discutible. Además, las operaciones matemáticas
necesarias para realizar el cálculo pueden llegar a hacer éste impracticable en muchos casos. Por
todo ello, el análisis del caso medio es menos frecuente que el estudio del caso peor. En el
presente trabajo siempre se realizará el análisis de la eficiencia en el peor de los casos.
Ahora bien, es preciso indicar que existen tres enfoques metodológicos para evaluar la
eficiencia de los algoritmos:
Empírico o a posteriori: los algoritmos se implementan en un ordenador y se comparan mediante la
realización de pruebas con datos del problema de distinto tamaño.
11
Debido a lo anterior, aquí se va a utilizar un enfoque teórico o a priori como método para
evaluar la complejidad temporal de un algoritmo considerándose, como factor principal, el tamaño
de los datos de entrada, aunque también se tendrá en cuenta el factor relativo al contenido de los
datos de entrada cuando éstos reflejen el peor de los casos posibles.
El conjunto de las funciones del orden de f (n), denotado por O ( f (n)), viene dado por
O( f (n)) = {g: N R+ : c R+, n0 N, n n0 g(n) cf (n)}.
La definición de O ( f (n)) garantiza el principio de invariancia descrito anteriormente; es decir, si el
tiempo de ejecución de una implementación concreta de un algoritmo está descrito por una función
g(n) del orden de f (n), el tiempo g'(n) empleado por cualquier otra implementación del mismo que
difiera de la anterior en el lenguaje, el compilador, y/o la máquina empleada, también será del
orden de f (n). En general, se dirá que el tiempo de ejecución de un algoritmo (y, por tanto, de
todas sus implementaciones) es del orden de f (n).
12
Obsérvese que hay una asimetría entre las medidas de O( f (n)) y ( f (n)). La primera
establece una cota superior al peor caso y, por tanto, a todos los ejemplos de tamaño n, mientras
que la segunda, al establecer una cota inferior al peor caso, permite que puedan existir infinitos
ejemplos de tamaño n con un tiempo mejor que
f (n). Ahora bien, se verifica que
f (n) O(g(n)) g(n) ( f (n)),
denominándose, a esta equivalencia, regla de dualidad.
El conjunto de las funciones del orden exacto de f (n), denotado por ( f (n)), se define
como
( f (n)) = O( f (n)) ( f (n)),
Lógicamente, la notación () es más precisa que las notaciones O() y (), ya que
g(n) está en el orden exacto de f (n) (g(n) (f (n)) si, y sólo si, f (n) es a la vez cota inferior
y superior de g(n).
Las tres primeras propiedades definen una ordenación parcial en el conjunto de las
funciones y, consecuentemente, en el conjunto de las eficiencias relativas de los diferentes
algoritmos para resolver un problema dado. Por otro lado, puede observarse que la regla del
máximo (o de la suma) permite simplificar drásticamente el cálculo de la eficiencia de un algoritmo.
13
Una consecuencia inmediata de la regla del límite es que todo polinomio en n de grado m
cuyo coeficiente de mayor grado sea positivo es del orden de nm.
Las funciones de complejidad algorítmica más usuales, ordenadas de mayor a menor
eficiencia (o de menor a mayor complejidad), son
El hecho de que un algoritmo tenga una eficiencia que sea "buena" en términos generales
no implica que lo sea en términos particulares, ya que puede haber otro algoritmo que resuelva el
mismo problema de una forma más eficiente.
Los aspectos que se han tratado en esta sección se refieren a conceptos preliminares de
Algoritmia, la cual se ocupa del diseño y análisis sistemático de algoritmos específicos, cada uno
de los cuales será más eficiente que sus predecesores para resolver algún problema dado. Un
campo diferente al de la Algoritmia es el de la Complejidad Computacional. Este campo, que tiene
14
una trayectoria paralela al de la Algoritmia, considera globalmente todos los posibles algoritmos
para resolver un problema dado. Esto incluye aquellos algoritmos en los que ni siquiera se ha
pensado todavía.
Por último, es preciso indicar que en este trabajo de investigación se van a describir
algoritmos para resolver problemas relativos al cálculo de valores en juegos cooperativos,
analizando la eficiencia de dichos algoritmos en el contexto de la Algoritmia.
Proposición 2.4 Sea (N, v) un juego cooperativo. El cálculo de la función de potencial de Hart y
Mas-Colell para todos los subjuegos del juego (N, v) requiere un tiempo (n2 ).
n
15
n
n i
= 1 (1 t (suma))
i 1 j 1
n
n
i i
= 1
i 1 j 1
1 1
k 1
n
n i
= 1 (1 i)
i 1 j 1
n n
= 1 (1 i) i
i 1
n n
= (1 i) i
i 0
= n2 n 1
2n .
+ 2 (n2 ).
n-1 n n
De aquí, t(potencial) = f (n) = n2
Proposición 2.7 Sea un juego cooperativo (N, v). El cálculo de todos los dividendos de
Harsanyi requiere un tiempo (3 ).
n
16
n
n i
= 1 t (asignación)
i 1 j 1
n
n i
= 1 (1 t (suma))
t 1 j 1
n
n i 2i 1
= 1 (1 1)
i 1 j 1 k 1
n
n i
= 1 (1 2
i 1 j 1
i
1)
n
n i
= 1 2
i 1 j 1
i
n n
= 1 2 i
i
i 1
n n
= 2i 3n .
i 0 i
Por tanto, t(dividendo) = f (n) = 3n (3n).
Proposición 3.16 Sea la terna (N, v, G), donde G es un grafo camino y (N, v) un juego de
utilidad transferible. El cálculo de todos los dividendos de Harsanyi del juego restringido
requiere un tiempo (n4).
17
n
i2 i 2
= 1 (
i 1 2
)(n i 1)
n
1
= 1
2
(i
i 1
2
i 2)(n i 1)
2 i 1
1 n n n n
= 1 (2 2n) 1 (n 1) i n i 2 i 3
2 i 1 i 1 i 1 i 1
1 n n
2
n(n 1)(2n 1) n 2 (n 1) 2
= 1 (2 2n)n (n 1) n
2 2 6 4
1 n n (n n )(2n 1) (n 2n n )
3 3 2 4 3 2
= 1 2n 2n 2
2 2 6 4
1 n3 n 2n 4 3n3 n 2 n 4 2n3 n 2
= 1 2n 2n
2
2 2 6 4
1 24n 24n 6n 6n 4n 6n 2n 3n 6n 3n 2
2 3 4 3 2 4 3
= 1
2 12
n 4 6n3 23n 2 18n 24
= .
24
Algoritmo dividendo2
para i de 1 hasta n
para j de 1 hasta S (i )
Si j T
vG ( S i j ) (-1) v(T )
{T : Si j ex ( Si j ) T Si j }
fin_para
fin_para
donde S i j es la j-ésima coalición de tamaño i y S(i) es el número de coaliciones de tamaño i.
Proposición 3.30 Sea la terna (N, v, G) donde G es un árbol y (N, v) un juego de utilidad
transferible. El cálculo de todos los dividendos de Harsanyi del juego restringido requiere un
18
tiempo O(2 |F|), donde F es el conjunto de coaliciones conexas en el árbol y D = max({|ex(S) :
D
S F}).
n S (i )
= 1 2 D 1 1
i 1 j 1
< 1 2 D 1
F.
Por tanto, t(dividendo2) = f (n) O(2D |F |).
Función banzhafTwoPower(pesos1,pesos2,q,p)
19
para i de 1 hasta n
lista_aux borra({w ,..., w }, w )
1 n i
fin para
n
i
i 1
para i de 1 hasta n
/
i i
fin para
devolver {1, . . . , n}
Proposición 4.26 Sea (N, v) un juego de votación con doble mayoría, siendo
v = v1 v2, con v1 q; w1 ,..., wn y v2 p; p1 ,..., pn . El cálculo del índice de Banzhaf
normalizado de todos los jugadores, con la función banzhafTwo-Power, requiere un tiempo
O(n2c), siendo c el número de coeficientes no nulos del polinomio B(x, y).
20
O(t (asignación1) O(t (lista _ aux1)) O(1) ,
O(t (asignación 2) O(t (lista _ aux2)) O(1)
O(t (asignación3) O(t ( polinomio )) O(nc),
O(t (asignación 4) O(t (coefi )) O(c) ,
O(t (asignación 5) O(t (suma1)) O(c) ,
O(t (asignación 6) O(t (suma2)) O(c)
O(t (asignación 7) O(t (diferencia )) O(1)
resulta ser
O( f (n)) O(t (bucle1) O(n t (asignación 3)) .
Por tanto, finalmente,
O( f (n)) O(n t (asignación 3)) O(n2c) .
21
para i de 1 hasta n
lista_aux1 borra({w ,..., w }, w )
1 n i
coefi ( k 1 , r 1 ) i
akrj z j}
j 0
k q r p j 0
g ( z ) s i ( z ) s i ( z )
i 1 2
n 1
i
g ( z ) d ij z j
j 0
n 1
i d ij j!(n j 1)! / n!
j 0
fin_para
devolver {1, . . . , n}
Proposición 4.33 Sea (N, v) un juego de votación con doble mayoría, siendo
v = v1 v2, con v1 q; w1 ,..., wn y v2 p; p1 ,..., pn . El cálculo del índice de Shapley-
Shubik de todos los jugadores con la función ssTwoPower requiere un tiempo O(n2c), siendo c el
número de coeficientes no nulos del polinomio S(x, y, z).
22
O(t (asignación3) O(t ( polinomio )) O(nc),
O(t (asignación 4) O(t (coefi )) O(c) ,
O(t (asignación 5) O(t (suma1)) O(c)
O(t (asignación 6) O(t (suma2)) O(c) ,
O(t (asignación 7) O(t (diferencia )) O(n) ,
O(t (asignación8) O(t (suma1)) O(n 2 ) .
Por tanto,
O( f (n)) O(n(t (asignación 3))) O(n(nc)) O(n 2 c) .
para p de 1 hasta | L |
lista_aux ex ( S )
p
n
PS p ( x, z ) x
w( S p \ ex(Sp )) | S p \ ex(Sp ) |
z
ilista _ aux
(1 x wi z )
w( S p ) |S p |
PS p ( x, z )
S
bkj p x k z j
k w( S p \ ex(Sp )) j | S p \ ex(Sp ) |
| ex( S p ) |
C S p ar p z | S p | r
S
r 0
| ex( S p ) | w( S p )
| S | r |ex( S p )| S p | S | r
Sp
C ( z ) r 0
b
Sp
kr z
p
ar z p
k q r 0
( S ) (1)| S p | C (1)
vL p Sp
fin_para
Proposición 5.9 Sea la terna (N, v, L), donde (N, L) es una geometría convexa de partición
y (N, v), con v = [q; w1, . . ., wn], un juego simple de votación ponderada. El cálculo de los
dividendos, mediante el algoritmo geomdiv, requiere un tiempo
O(|L| D E), siendo
D = max{|ex(S)|: S L} y
E = max{min(2|ex(S)|, |ex(S)|w(ex(S)) + 1) : S L}.
23
Demostración: Sea f(n) la función que determina el tiempo de ejecución del algoritmo
geomdiv. Entonces, el orden de la complejidad de la función f(n) viene dado por
O(f(n)) = 1 + O(t(bucle)) = O(|L|(t(asignación1) + . . . + t(asignacion4))).
Ahora bien, dentro del bucle, la complejidad de la primera asignación sería
O(t(asignación1)) = O(t(lista_aux)) = O(1),
ya que se supone que los extremales se han calculado previamente, y se encuentran
almacenados. Para la complejidad de la segunda asignación, se tiene que, en el peor caso,
O(t(asignación2)) = O(t(polinomio) ) = O(D E),
lo cual es consecuencia de la Proposición 5.8. Del mismo modo, y considerando el peor
caso,
O(t(asignación3)) = O(t(suma)) = O(E),
al ser E una cota superior del número de coeficientes no nulos de cualquier polinomio P S(x,
z). Análogamente, teniendo en cuenta que, para toda coalición SL, la evaluación de los
polinomios CS(z), que son de grado |ex(S)|, en z = –1, se realiza en un tiempo O(|ex(S)|), y
|ex(S)| D, resulta ser
O(t(asignación4) = O(D).
Finalmente, si se considera la regla del máximo de O(.), se sigue que,
O(f(n)) = O(|L|(t(asignación2))) = O(|L| D E ).
Función MyersonStar(pesos, q)
{pesos: lista de n enteros; q: entero}
para l de 1 hasta n – 1
(l; x, z ) x wl z (1 (i | l; x, z ))
(l; x, z) k 0 jN
ckjl x k z j
n
( j 1)! (n j )! q 1 wl l
l ckj
j 2 n! k q
fin_para
n 1
(n; x, z ) x wn z (1 x w j z )
j 1
(n; x, z) k 0 jN
ckjn x k z j
24
n
( j 1)! (n j )! w( N ) n
n ckj
j 2 n! k q
devolver {1, . . . ,n}
Proposición 5.26 Sea la terna (N, v, G), donde G es un grafo estrella y (N, v), con
v q; w1 ,..., wn , un juego de votación ponderada. El cálculo del valor de Myerson de
todos los jugadores con la función MyersonStar requiere un tiempo O(n2c), siendo c el
número de coeficientes no nulos del polinomio G ( x, z ) .
O(n3 n2c)
O(n2c) .
Las asignaciones restantes, que se refieren al nodo central, verifican, por un lado,
25
O(t (asignación3)) O(t ( polinomio )) O(r h ) O(n)
ya que, para el vértice central, r = n – 1 y h = 1. Por otro lado,
O(t (asignación 4)) O(n(t (coefi ) t (suma2)))
O(n2 nc)
O(nc) .
26