#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double pierwiastek(double x, double eps) {
double a = 0.0;
double b = x;
double c;
while (fabs(b - a) > eps) {
c = (a + b) / 2.0;
if (c * c > x)
b = c;
else
a = c;
}
return c;
}
int main() {
cout << setprecision(2) << pierwiastek(2.0, 0.1)<<endl;
cout << setprecision(3) << pierwiastek(2.0, 0.01)<< endl;
cout << setprecision(5) << pierwiastek(2.0, 0.00001)<< endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmRvdWJsZSBwaWVyd2lhc3Rlayhkb3VibGUgeCwgZG91YmxlIGVwcykgewoJZG91YmxlIGEgPSAwLjA7Cglkb3VibGUgYiA9IHg7Cglkb3VibGUgYzsKCXdoaWxlIChmYWJzKGIgLSBhKSA+IGVwcykgewoJCWMgPSAoYSArIGIpIC8gMi4wOwoJCWlmIChjICogYyA+IHgpCgkJYiA9IGM7CgkJZWxzZQoJCWEgPSBjOwoJfQoJcmV0dXJuIGM7Cn0KaW50IG1haW4oKSB7CgkKICAgIGNvdXQgPDwgc2V0cHJlY2lzaW9uKDIpIDw8IHBpZXJ3aWFzdGVrKDIuMCwgMC4xKTw8ZW5kbDsKICAgIGNvdXQgPDwgc2V0cHJlY2lzaW9uKDMpIDw8IHBpZXJ3aWFzdGVrKDIuMCwgMC4wMSk8PCBlbmRsOwogICAgY291dCA8PCBzZXRwcmVjaXNpb24oNSkgPDwgcGllcndpYXN0ZWsoMi4wLCAwLjAwMDAxKTw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==