#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double c = 15.0; // liczba, z której liczymy pierwiastek
double eps = 0.001; // dokładność
double x = c; // początkowe przybliżenie
double x_next;
int iter = 0;
do
{
x_next = 0.5 * (x + c / x);
iter++;
if (fabs(x_next - x) < eps)
break;
x = x_next;
} while (true);
cout << "Przyblizona wartosc pierwiastka z " << c << " wynosi: " << x_next << endl;
cout << "Liczba iteracji: " << iter << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBkb3VibGUgYyA9IDE1LjA7ICAgICAgICAvLyBsaWN6YmEsIHoga3TDs3JlaiBsaWN6eW15IHBpZXJ3aWFzdGVrCiAgICBkb3VibGUgZXBzID0gMC4wMDE7ICAgICAvLyBkb2vFgmFkbm/Fm8SHCiAgICBkb3VibGUgeCA9IGM7ICAgICAgICAgICAvLyBwb2N6xIV0a293ZSBwcnp5YmxpxbxlbmllCiAgICBkb3VibGUgeF9uZXh0OwogICAgaW50IGl0ZXIgPSAwOwoKICAgIGRvCiAgICB7CiAgICAgICAgeF9uZXh0ID0gMC41ICogKHggKyBjIC8geCk7CiAgICAgICAgaXRlcisrOwogICAgICAgIAogICAgICAgIGlmIChmYWJzKHhfbmV4dCAtIHgpIDwgZXBzKQogICAgICAgICAgICBicmVhazsKCiAgICAgICAgeCA9IHhfbmV4dDsKCiAgICB9IHdoaWxlICh0cnVlKTsKCiAgICBjb3V0IDw8ICJQcnp5Ymxpem9uYSB3YXJ0b3NjIHBpZXJ3aWFzdGthIHogIiA8PCBjIDw8ICIgd3lub3NpOiAiIDw8IHhfbmV4dCA8PCBlbmRsOwogICAgY291dCA8PCAiTGljemJhIGl0ZXJhY2ppOiAiIDw8IGl0ZXIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=