Вычислить сумму с заданной точностью - C (СИ)
Формулировка задачи:
Для заданного x вычислить сумму с заданной точностью E. Считать что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых, и абсолютное значение очередного слагаемого оказалось меньше, чем точность E. Все последующие слагаемые можно не учитывать. В некоторых случаях ряд сходится не для всех x. Вычисления провести двумя способами: с использованием циклов for(; и while.
Решение задачи: «Вычислить сумму с заданной точностью»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char **argv)
{
double sum=0.0, k=0.0, x=0.0, eps=0.0, f=1.0, f1=1.0, t=0.0;
printf ("x, eps ? ");
scanf("%lf %lf", &x, &eps);
t=pow(x,k);
while (fabs(t)>eps) {
sum+=t=pow(x,k++)/f; // посчитать степень потом к к прибавить 1
f*=f1++; // считаем факториал, потом к ф1 прибавляем 1
if (k>100) {
printf("Error. Ryad ne sxoditcya");
exit(1);
}
}
printf("\n sum=%lf", sum);
return 0;
}