#include <iostream>
#include <cmath>
int main()
{
double accuracyLimit = 0;
std::cout << "Enter range accuracy limit: " << std::endl;
std::cin >> accuracyLimit;
std::cout << "Accuracy limit = " << accuracyLimit << std::endl;
double sum = 0;
double item = 0;
double i = 1;
do
{
auto numerator = std::pow(-1, i);
auto denominator = i * (i + 1) * (i + 2);
item = numerator / denominator;
std::cout
<< "i=" << i
<< " item=" << item << " (" << numerator << "/" << denominator << ")"
<< std::endl;
sum += item;
++i;
}
while (std::abs(item) > accuracyLimit);
std::cout << std::endl << " === Calculating finished " << std::endl;
std::cout << "Range items count = " << --i << std::endl;
std::cout << "Range amount = " << sum << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CgppbnQgbWFpbigpCnsKCWRvdWJsZSBhY2N1cmFjeUxpbWl0ID0gMDsKCXN0ZDo6Y291dCA8PCAiRW50ZXIgcmFuZ2UgYWNjdXJhY3kgbGltaXQ6ICIgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjaW4gPj4gYWNjdXJhY3lMaW1pdDsKICAgCXN0ZDo6Y291dCA8PCAiQWNjdXJhY3kgbGltaXQgPSAiIDw8IGFjY3VyYWN5TGltaXQgPDwgc3RkOjplbmRsOwogICAgCglkb3VibGUgc3VtID0gMDsKCWRvdWJsZSBpdGVtID0gMDsKCWRvdWJsZSBpID0gMTsKCQoJZG8KCXsKCQlhdXRvIG51bWVyYXRvciA9IHN0ZDo6cG93KC0xLCBpKTsKCQlhdXRvIGRlbm9taW5hdG9yID0gaSAgKiAoaSAgKyAxKSAqIChpICsgMik7CgkJaXRlbSA9ICBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjsKCQlzdGQ6OmNvdXQgCgkJCTw8ICJpPSIgPDwgaSAKCQkJPDwgIiBpdGVtPSIgPDwgIGl0ZW0gPDwgIiAoIiA8PCBudW1lcmF0b3IgPDwgIi8iIDw8IGRlbm9taW5hdG9yIDw8ICIpIiAKCQkJPDwgc3RkOjplbmRsOwoJCXN1bSArPSBpdGVtOwoJCSsraTsKCX0KCXdoaWxlIChzdGQ6OmFicyhpdGVtKSA+IGFjY3VyYWN5TGltaXQpOwoKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGwgPDwgIiA9PT0gQ2FsY3VsYXRpbmcgZmluaXNoZWQgIiA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIlJhbmdlIGl0ZW1zIGNvdW50ID0gIiA8PCAtLWkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8ICJSYW5nZSBhbW91bnQgPSAiIDw8IHN1bSA8PCBzdGQ6OmVuZGw7Cn0K