Solución a la Tarea 3: Suma de potencias
La forma más sencilla de resolver la tarea es la de simplemente
calcular las potencias de una por una y sumarlas.
#include
<stdio.h>
int main(void)
{
int a, b, c, n, i, j, s = 0;
scanf("%d%d%d", &a, &b, &n);
for (i = a; i <= b; i++) {
for (j = 0, c = 1; j < n; j++)
c = c*i;
s = s + c;
}
printf("%d\n", s);
return 0;
}
Los valores de entrada y salida empleados para la evaluación
fueron los siguientes:
Entrada Salida
5 9 3
1925
1 1000 2 333833500
10 100 1 5005
-10 10 2 770
-10 10 3 0
31 41 5 716801976
-9 26 5 57496176
2 3 9 20195
65 432 1 91448
76 543 2 53371734
Para probar su tarea en UNIX, escriban la instrucción gcc sumpotNN.c -o sumpot para
compilar su programa, y la instrucción ./sumpot para correrlo.
Algunos errores comúnes fueron: (a) Aunque no es necesariamente
un error, lo mejor era usar enteros para las
operaciones, pues los cálculos con flotantes son inexactos. (b)
Algunos calcularon las potencias mal, por ejemplo, pasándose por
uno en el exponente. (c) En al menos un caso, se usó una
división para calcular una potencia. El problema se presenta
cuando la base de la potencia es un cero.