#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x;
const double eps = 1e-6; // dokładność
cout << "Podaj liczbe rzeczywista > 1: ";
cin >> x;
if (x <= 1) {
cout << "Liczba musi byc wieksza od 1." << endl;
return 1;
}
double left = 1.0;
double right = x;
double mid;
while (right - left > eps) {
mid = (left + right) / 2.0;
if (mid * mid > x)
right = mid;
else
left = mid;
}
cout << "Przyblizona wartosc pierwiastka: "
<< (left + right) / 2.0 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgeDsKICAgIGNvbnN0IGRvdWJsZSBlcHMgPSAxZS02OyAvLyBkb2vFgmFkbm/Fm8SHCgogICAgY291dCA8PCAiUG9kYWogbGljemJlIHJ6ZWN6eXdpc3RhID4gMTogIjsKICAgIGNpbiA+PiB4OwoKICAgIGlmICh4IDw9IDEpIHsKICAgICAgICBjb3V0IDw8ICJMaWN6YmEgbXVzaSBieWMgd2lla3N6YSBvZCAxLiIgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBkb3VibGUgbGVmdCA9IDEuMDsKICAgIGRvdWJsZSByaWdodCA9IHg7CiAgICBkb3VibGUgbWlkOwoKICAgIHdoaWxlIChyaWdodCAtIGxlZnQgPiBlcHMpIHsKICAgICAgICBtaWQgPSAobGVmdCArIHJpZ2h0KSAvIDIuMDsKCiAgICAgICAgaWYgKG1pZCAqIG1pZCA+IHgpCiAgICAgICAgICAgIHJpZ2h0ID0gbWlkOwogICAgICAgIGVsc2UKICAgICAgICAgICAgbGVmdCA9IG1pZDsKICAgIH0KCiAgICBjb3V0IDw8ICJQcnp5Ymxpem9uYSB3YXJ0b3NjIHBpZXJ3aWFzdGthOiAiCiAgICAgICAgIDw8IChsZWZ0ICsgcmlnaHQpIC8gMi4wIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K