#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 prev;
int iter = 0;
do {
prev = x;
x = 0.5 * (prev + c / prev); // wzór Newtona-Raphsona
iter++;
} while (fabs(x - prev) > eps);
cout << "Przyblizona wartosc sqrt(" << c << ") = " << x << endl;
cout << "Liczba iteracji: " << iter << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYyA9IDE1LjA7ICAgICAgLy8gbGljemJhLCB6IGt0w7NyZWogbGljenlteSBwaWVyd2lhc3RlawogICAgZG91YmxlIGVwcyA9IDAuMDAxOyAgIC8vIGRva8WCYWRub8WbxIcKICAgIGRvdWJsZSB4ID0gYzsgICAgICAgICAvLyBwb2N6xIV0a293ZSBwcnp5YmxpxbxlbmllCiAgICBkb3VibGUgcHJldjsKICAgIGludCBpdGVyID0gMDsKCiAgICBkbyB7CiAgICAgICAgcHJldiA9IHg7CiAgICAgICAgeCA9IDAuNSAqIChwcmV2ICsgYyAvIHByZXYpOyAgLy8gd3rDs3IgTmV3dG9uYS1SYXBoc29uYQogICAgICAgIGl0ZXIrKzsKICAgIH0gd2hpbGUgKGZhYnMoeCAtIHByZXYpID4gZXBzKTsKCiAgICBjb3V0IDw8ICJQcnp5Ymxpem9uYSB3YXJ0b3NjIHNxcnQoIiA8PCBjIDw8ICIpID0gIiA8PCB4IDw8IGVuZGw7CiAgICBjb3V0IDw8ICJMaWN6YmEgaXRlcmFjamk6ICIgPDwgaXRlciA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==