Introducción a la Programación
Trimestre 2006 Invierno --- Tarea 5

Viernes 10 de marzo de 2006 a las 22:00 hrs

Polinomio al cuadrado

En la secundaria aprendiste a elevar un binomio (es decir, un polinomio de grado 2) al cuadrado: (ax+b)2 = a2x2 + 2ab + b2. En general, uno puede tomar cualquier polinomio p(x) de grado n y calcular el polinomio q(x) = p(x)2, que resulta ser un polinomio de grado 2n. Si recordamos que el polinomio p(x) queda definido por su grado n y una lista de n+1 coeficientes, entonces el polinomio q(x) queda definido por su grado 2n y una lista de 2n+1 coeficientes. Por ejemplo, si p(x) = 1 - 2x + 3x2 entonces p(x) tiene grado 2 y q(x) = (1 - 2x + 3x2)2 = 1 - 4x + 10x2 - 12x3 + 9x4.

Especificación

La entrada consiste de un número entero N (con 1 <= N <= 99) seguido de una lista de N+1 números enteros a0, a1, ..., aN, todos separados por espacios, que definen al polinomio p(x) = a0 + a1x + ... + aNxN. La salida consiste de una lista de 2N+1 números enteros b0, b1, ..., b2N, todos separados por espacios, que definen al polinomio q(x) = b0 + b1x + ... + b2Nx2N. El nombre de su programa deberá de ser policuNN.c, donde NN es el número de equipo que les fue asignado. Los archivos policuNN.o y policuNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados anteriormente. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc policuNN.c -o policu y para probarlo usen la instrucción ./policu y tecleen la entrada deseada seguida de un enter.

Ejemplo

ENTRADA: 2 1 -2 3
SALIDA:  1 -4 10 -12 9