Solución a la Tarea 5: Fracciones continuas
En esta tarea resulta muy importante darse cuenta de que es buena idea
procesar los datos comenzando a partir del último. En cualquier
caso, se debe observar que ya sea el primer dato o el último
dato se debe procesar de forma especial. ¿Porqué?
#include
<stdio.h>
int main(void)
{
int i, n;
int z[1000];
double x;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &z[i]);
x = z[n-1];
for (i = n-2; i >= 0; i--)
x = z[i] + 1.0/x;
printf("%lf\n", x);
return 0;
}
Los valores de entrada y salida empleados para la evaluación
fueron los siguientes:
Entrada
Salida (aproximada)
4 3 6 1
2
3.150000
3 3 7
15
3.141509
5 3 7 15 1
292
3.141593
3 1 2
2
1.400000
9 1 2 2 2 2 2 2 2
2
1.414213
10 1 1 1 1 1 1 1 1 1
1
1.618182
16 2 1 2 1 1 4 1 1 6 1 1 8 1 1 10 1 2.718282
4 2 1 2
1
2.750000
9 1 2 3 4 5 6 7 8
9
1.433127
9 81 64 49 36 25 16 9 4
1
81.01562
Para probar su tarea en UNIX, escriban la instrucción gcc fraconNN.c -o fracon
para
compilar su programa, y la instrucción ./fracon para correrlo.
Algunos errores comúnes fueron: (a) Olvidarse de procesar un
dato, ya sea el primero o el último. (b) No procesar
adecuadamente el primero o el último dato. (c) Usar enteros en
lugar de dobles o flotantes para los datos de salida.
Además, les recuerdo que
sólo deben enviar el archivo .c y que éste debe tener el
nombre correcto.