Сумма бесконечного числового ряда - C (СИ) (73512)
Формулировка задачи:
Всем привет.
Вводится с клавиатуры X и считается сумма по след правилу:
Есть почти работающая программа
при 1 выдает абракадабру
при вводе числа в отрезке от - 1 до 1 выдаются нули...возможно число просто очень мало, что после запятой не хватает 6 цифр
по-идее же можно как-то вывести больше чисел, после запятой чем выводится стандартно?
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n;
double x, eps, a1, a2;
double sum;
printf("\n \t Программа вычисляет сумму бесконечного числового ряда");
printf("\n \t Введите х: ");
scanf("%lf", &x);
sum = 0.0;
eps = 0.00001;
n = 0;
a2 = (pow(x-1,-1))/(x+1);
a1 = a2;
while (a1 >= eps)
{
a1 = (pow(x-1,(2*n-1)))/((pow(x+1,(2*n+1)))*(2*n+1));
if (a1 > a2)
{
printf("\n \t Ряд расходится. Подсчет суммы не имеет смысла");
return 0;
}
a2 = a1;
sum += a1;
n++;
};
printf("\n \t Сумма равна: %lf", sum);
return 0;
}Решение задачи: «Сумма бесконечного числового ряда»
textual
Листинг программы
a2 = (pow(x-1,-1))/(x+1);