задано натуральное число n
, нужно вычислить сумму S = (-1)^n * (n+1)/(2n+1)
с помощью циклa for
у вас n
это целое число, а значит (n+1
) и (2n+1
) тоже целые числа. При делении вы получите в результате целое число (так как компилятор не может знать что вам нужно), т.е. результат будет ноль. Ваш желаемый результат должен иметь тип double
, и нужно так и написать: ...double (n+1)/(2n+1)
...
Вообшем это может выглядеть так:
int n;
cin >> n;
double s = 0;
for (int i = 1; i <= n; ++i)
s += pow(-1, i) * (double)(i + 1) / (2 * i + 1);
cout << s;
Вы почему-то цикл делаете по i
, а суммируете один и тот же член с n
, да еще добавленной единицей. И еще зачем-то лишний плюс один дописали...
unsigned int n;
double s = 0.0;
cin >> n;
for (unsigned int i = 0; i <= n; ++i) {
s += ((i % 2 == 0) ? 1 : -1) * (i + 1.0) / (2.0 * i + 1.0);
}
cout << s << endl;
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
В чем основные отличия posix threads и класса std::thread? В каком случае что выбрать и почему? Желательно, поподробнее
Пытаюсь сделать умножение матриц по Винограду, но как-то не очень получаетсяПрошу помощи у вас
Нужно, чтобы программа читала только определенные строки в файле, например, 1 строку или 7, но не весь файл целиком