#include <stdio.h>
#include <stdio.h>
#include <float.h>
#include <math.h>
double mojaEksponenta(double x) {
if (x<0) {
return 1.0/mojaEksponenta(-x);
}
double result = 1.0;
double a = 1.0;
int i;
for(i
=1; result
*DBL_EPSILON
<fabs(a
); ++i
) { a = a*x/i;
result += a;
}
return result;
}
int main(void) {
double x;
while(scanf("%lf", &x
)==1) { double a = mojaEksponenta(x);
printf("x=%12lf %12lg - %12lg = %12lg\n", x
, a
, b
, a
-b
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8ZmxvYXQuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmRvdWJsZSBtb2phRWtzcG9uZW50YShkb3VibGUgeCkgewogICAgIGlmICh4PDApIHsKICAgICAgICAgIHJldHVybiAxLjAvbW9qYUVrc3BvbmVudGEoLXgpOwogICAgIH0KICAgICBkb3VibGUgcmVzdWx0ID0gMS4wOwogICAgIGRvdWJsZSBhID0gMS4wOwogICAgIGludCBpOwogICAgIGZvcihpPTE7IHJlc3VsdCpEQkxfRVBTSUxPTjxmYWJzKGEpOyArK2kpIHsKICAgICAgICAgIGEgPSBhKngvaTsKICAgICAgICAgIHJlc3VsdCArPSBhOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbih2b2lkKSB7Cglkb3VibGUgeDsKCiAgICB3aGlsZShzY2FuZigiJWxmIiwgJngpPT0xKSB7CiAgICAgICAgZG91YmxlIGEgPSBtb2phRWtzcG9uZW50YSh4KTsKICAgICAgICBkb3VibGUgYiA9IGV4cCh4KTsKICAgICAgICBwcmludGYoIng9JTEybGYgICAlMTJsZyAtICUxMmxnID0gJTEybGdcbiIsIHgsIGEsIGIsIGEtYik7IAogICAgfQoJcmV0dXJuIDA7Cn0K