#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a;
double eps = 1e-6; // dokładność przybliżenia
cout << "Podaj liczbe rzeczywista wieksza od 1: ";
cin >> a;
if (a <= 1) {
cout << "Liczba musi byc wieksza od 1." << endl;
return 0;
}
double left = 1.0;
double right = a;
double mid;
while (right - left > eps) {
mid = (left + right) / 2.0;
if (mid * mid > a)
right = mid;
else
left = mid;
}
cout << "Przyblizona wartosc pierwiastka z " << a << " wynosi: "
<< (left + right) / 2.0 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYTsKICAgIGRvdWJsZSBlcHMgPSAxZS02OyAvLyBkb2vFgmFkbm/Fm8SHIHByenlibGnFvGVuaWEKCiAgICBjb3V0IDw8ICJQb2RhaiBsaWN6YmUgcnplY3p5d2lzdGEgd2lla3N6YSBvZCAxOiAiOwogICAgY2luID4+IGE7CgogICAgaWYgKGEgPD0gMSkgewogICAgICAgIGNvdXQgPDwgIkxpY3piYSBtdXNpIGJ5YyB3aWVrc3phIG9kIDEuIiA8PCBlbmRsOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGRvdWJsZSBsZWZ0ID0gMS4wOwogICAgZG91YmxlIHJpZ2h0ID0gYTsKICAgIGRvdWJsZSBtaWQ7CgogICAgd2hpbGUgKHJpZ2h0IC0gbGVmdCA+IGVwcykgewogICAgICAgIG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMi4wOwoKICAgICAgICBpZiAobWlkICogbWlkID4gYSkKICAgICAgICAgICAgcmlnaHQgPSBtaWQ7CiAgICAgICAgZWxzZQogICAgICAgICAgICBsZWZ0ID0gbWlkOwogICAgfQoKICAgIGNvdXQgPDwgIlByenlibGl6b25hIHdhcnRvc2MgcGllcndpYXN0a2EgeiAiIDw8IGEgPDwgIiB3eW5vc2k6ICIKICAgICAgICAgPDwgKGxlZnQgKyByaWdodCkgLyAyLjAgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQoK