#include <iostream>
using namespace std;
int main() {
double c = 15.0; // liczba, z której liczymy pierwiastek
double eps = 0.001; // dokładność
double a = 0.0; // lewy koniec przedziału
double b = c; // prawy koniec przedziału
double pkw; // przybliżona wartość pierwiastka
int iteracje = 0; // licznik iteracji
while (b - a > eps) {
pkw = (a + b) / 2.0;
if (pkw * pkw > c)
b = pkw;
else
a = pkw;
iteracje++;
}
pkw = (a + b) / 2.0;
cout << "Przyblizona wartosc pierwiastka z " << c << " wynosi: "
<< pkw << endl;
cout << "Liczba iteracji: " << iteracje << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYyA9IDE1LjA7ICAgICAgICAvLyBsaWN6YmEsIHoga3TDs3JlaiBsaWN6eW15IHBpZXJ3aWFzdGVrCiAgICBkb3VibGUgZXBzID0gMC4wMDE7ICAgICAvLyBkb2vFgmFkbm/Fm8SHCiAgICBkb3VibGUgYSA9IDAuMDsgICAgICAgICAvLyBsZXd5IGtvbmllYyBwcnplZHppYcWCdQogICAgZG91YmxlIGIgPSBjOyAgICAgICAgICAgLy8gcHJhd3kga29uaWVjIHByemVkemlhxYJ1CiAgICBkb3VibGUgcGt3OyAgICAgICAgICAgICAvLyBwcnp5YmxpxbxvbmEgd2FydG/Fm8SHIHBpZXJ3aWFzdGthCiAgICBpbnQgaXRlcmFjamUgPSAwOyAgICAgICAvLyBsaWN6bmlrIGl0ZXJhY2ppCgogICAgd2hpbGUgKGIgLSBhID4gZXBzKSB7CiAgICAgICAgcGt3ID0gKGEgKyBiKSAvIDIuMDsKCiAgICAgICAgaWYgKHBrdyAqIHBrdyA+IGMpCiAgICAgICAgICAgIGIgPSBwa3c7CiAgICAgICAgZWxzZQogICAgICAgICAgICBhID0gcGt3OwoKICAgICAgICBpdGVyYWNqZSsrOwogICAgfQoKICAgIHBrdyA9IChhICsgYikgLyAyLjA7CgogICAgY291dCA8PCAiUHJ6eWJsaXpvbmEgd2FydG9zYyBwaWVyd2lhc3RrYSB6ICIgPDwgYyA8PCAiIHd5bm9zaTogIgogICAgICAgICA8PCBwa3cgPDwgZW5kbDsKICAgIGNvdXQgPDwgIkxpY3piYSBpdGVyYWNqaTogIiA8PCBpdGVyYWNqZSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==