1) 1-1/2+1/4-1/8+...+(-1/2)^(n-1)+...
2) 1-3*x+5*x^2-7*x^3+...+((-1)^(n-1))*(2*n-1)*x^(n-1)...
помогите, пожалуйста если можно с комментариями
#include <iostream>
#include <cmath>
int main()
{
const double eps = 0.0001; // Точность вычисления
double s = 0.0, X = 1.0; // s - сумма, X - член ряда (первый - равен 1)
do
{
s += X; // увеличиваем сумму
X /= -2; // получаем очередной член ряда, путем деления предыдущего на -2
}
while(fabs(X) > eps); // Продолжать до тех пор, пока не достигнута точность
std::cout << s << std::endl; // печатаем результат
return 0;
}
int n = 0;
double s = 0.0, power_of_x = 1.0, curr;
do
{
curr = (2 * n + 1) * power_of_x;
s += (n % 2 ? -1 : 1) * curr;
// если остаток от деления n на 2 = 1 (т.е., n нечетное),
// то n-ый член ряда - со знаком "минус". Иначе - со знаком "плюс"...
power_of_x *= x; n += 1;
}
while(fabs(curr) > eps); // Продолжать до тех пор, пока не достигнута точность