#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int getCountSlag(int x, double eps) {
double exp_x = exp(x);
//Можно использовать unsigned long long int.
double sum = 1;
int count = 1;
int pow_x = 1;
int fact = 1;
do {
pow_x *= x;
fact *= count;
++count;
sum += pow_x / (double)fact;
cout << count << " " << setprecision(9) << sum << endl;
} while (sum <= exp_x - eps || sum >= exp_x + eps);
return count;
}
int main() {
cout << getCountSlag(1, 1e-7);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGdldENvdW50U2xhZyhpbnQgeCwgZG91YmxlIGVwcykgewogICAgZG91YmxlIGV4cF94ID0gZXhwKHgpOwoKICAgIC8v0JzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgdW5zaWduZWQgbG9uZyBsb25nIGludC4KICAgIGRvdWJsZSBzdW0gPSAxOwogICAgaW50IGNvdW50ID0gMTsKICAgIGludCBwb3dfeCA9IDE7CiAgICBpbnQgZmFjdCA9IDE7CgogICAgZG8gewogICAgICAgIHBvd194ICo9IHg7CiAgICAgICAgZmFjdCAqPSBjb3VudDsKICAgICAgICArK2NvdW50OwogICAgICAgIHN1bSArPSBwb3dfeCAvIChkb3VibGUpZmFjdDsKICAgICAgICBjb3V0IDw8IGNvdW50IDw8ICIgIiA8PCBzZXRwcmVjaXNpb24oOSkgPDwgc3VtIDw8IGVuZGw7CiAgICB9IHdoaWxlIChzdW0gPD0gZXhwX3ggLSBlcHMgfHwgc3VtID49IGV4cF94ICsgZXBzKTsKCiAgICByZXR1cm4gY291bnQ7Cn0KCmludCBtYWluKCkgewogICAgY291dCA8PCBnZXRDb3VudFNsYWcoMSwgMWUtNyk7CiAgICByZXR1cm4gMDsKfQ==