Esta pregunta requiere escribir un programa para calcular la suma de la parte de la secuencia 1 - 1/4 + 1/7 - 1/10 + ...
hasta que el valor absoluto del último elemento no sea mayor que la precisión dada eps
.
Formato de entrada:
La entrada da un número real positivo en una línea eps
.
Formato de salida:
En una línea, sum = S
envíe el valor de la suma parcial en el formato " " S
, con una precisión de seis dígitos después del punto decimal. El título garantiza que el resultado del cálculo no exceda el rango de doble precisión.
Ejemplo de entrada 1:
4E-2
Ejemplo de salida 1:
sum = 0.854457
Ejemplo de entrada 2:
0.02
Ejemplo de salida 2:
sum = 0.826310
Código:
# include <stdio.h>
# include <stdlib.h>
int main() {
double eps,sum = 0.0,value,sign = 1.0;
scanf("%lf",&eps);
int i = 1;
while(1) {
value = sign / i;
if (value < 0 && value + eps >= 0 || value > 0 && value - eps <= 0) {
sum += value;
break;
}else {
sign *= (-1);
i += 3;
sum += value;
}
}
printf("sum = %.6lf",sum);
return 0;
}
Enviar captura de pantalla:
Ideas de resolución de problemas:
Al igual que en las dificultades e ideas anteriores, ¡no queda nada que decir!