#include <iostream>
int main()
{
double tmp = 1.;
double eps;
int i = 0;
while(tmp != 0) {
++i;
eps = tmp;
tmp /= 2.;
}
if(eps == 0) {
std::cout << "(1)eps is zero!\n";
}
std::cout << "eps before: " << eps;
if(eps == 0) {
std::cout << "(2)eps is zero!\n";
std::cout << "after " << i << " steps\n";
}
if (eps != 0)
while(eps < 1.) {
tmp = eps;
eps *= 2.;
if(tmp == eps) {
printf("wtf?\n");
}
}
std::cout << "eps after: " << eps;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCmludCBtYWluKCkKewogICAgZG91YmxlIHRtcCA9IDEuOwogICAgZG91YmxlIGVwczsKICAgIGludCBpID0gMDsKICAgIHdoaWxlKHRtcCAhPSAwKSB7CiAgICAgICAgKytpOwogICAgICAgIGVwcyA9IHRtcDsKICAgICAgICB0bXAgLz0gMi47CiAgICB9CiAgICBpZihlcHMgPT0gMCkgewogICAgICAgIHN0ZDo6Y291dCA8PCAiKDEpZXBzIGlzIHplcm8hXG4iOwogICAgfQogICAgc3RkOjpjb3V0IDw8ICJlcHMgYmVmb3JlOiAiIDw8IGVwczsKICAgIGlmKGVwcyA9PSAwKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICIoMillcHMgaXMgemVybyFcbiI7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJhZnRlciAiIDw8IGkgPDwgIiBzdGVwc1xuIjsKICAgIH0KIGlmIChlcHMgIT0gMCkKICAgIHdoaWxlKGVwcyA8IDEuKSB7CiAgICAgICAgdG1wID0gZXBzOwogICAgICAgIGVwcyAqPSAyLjsKICAgICAgICBpZih0bXAgPT0gZXBzKSB7CiAgICAgICAgICAgIHByaW50Zigid3RmP1xuIik7CiAgICAgICAgfQogICAgfQogICAgCiAgICBzdGQ6OmNvdXQgPDwgImVwcyBhZnRlcjogIiA8PCBlcHM7Cn0KIA==