Вычисление бесконечного ряда

Снова бесконечный ряд и снова ошибки. Нужно найти сумму бесконечного ряда с заданной точностью с использованием рекуррентной формулы.

#include <stdio.h>
#include <locale.h>
#include <math.h>
int main()
{
    const double EPS = 1.0e-6;
    const double pi = 3.1415926;
    double x, sum = 0, r;
    int i = 1;
    printf("Vvedite x(0.1<= x <=0.8):\n");
    if ((scanf("%lf", &x) == 0) || (x <= 0.1) || (x >= 0.8)) {
        printf("input error\n");
        return 1;
    }
    r = ((x * (x * i)) * cos(i * (pi / 3))) / i;
    while (fabs(r) >= EPS) {
        sum += r;
        i++;
        r *= (x * i - x * cos((pi * i) / 3)) / i * cos((pi * i - pi) / 3);
    }
    printf("summa ryada: %lf", sum);
    return 0;
}

введите сюда описание изображения

Мои вычисления:введите сюда описание изображения

А еще мучает вопрос: не будет ли лучше, если я запишу примерное значение pi/3 вместо константы?


Ответы (0 шт):