#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double f(double x) {
return 0.25 * x * x - 2.0;
}
int main() {
double a = 2.0;
double b = 4.0;
double eps = 0.00001;
double c;
if (f(a) * f(b) >= 0) {
cout << "Brak miejsca zerowego w przedziale." << endl;
return 0;
}
while ((b - a) / 2 > eps) {
c = (a + b) / 2;
if (f(c) == 0.0)
break;
else if (f(a) * f(c) < 0)
b = c;
else
a = c;
}
cout << fixed << setprecision(6);
cout << "Miejsce zerowe funkcji: x = " << (a + b) / 2 << endl;
cout << "Wartosc funkcji w tym punkcie: f(x) = "
<< f((a + b) / 2) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmRvdWJsZSBmKGRvdWJsZSB4KSB7CiAgICByZXR1cm4gMC4yNSAqIHggKiB4IC0gMi4wOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSBhID0gMi4wOwogICAgZG91YmxlIGIgPSA0LjA7CiAgICBkb3VibGUgZXBzID0gMC4wMDAwMTsKICAgIGRvdWJsZSBjOwoKICAgIGlmIChmKGEpICogZihiKSA+PSAwKSB7CiAgICAgICAgY291dCA8PCAiQnJhayBtaWVqc2NhIHplcm93ZWdvIHcgcHJ6ZWR6aWFsZS4iIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgd2hpbGUgKChiIC0gYSkgLyAyID4gZXBzKSB7CiAgICAgICAgYyA9IChhICsgYikgLyAyOwoKICAgICAgICBpZiAoZihjKSA9PSAwLjApCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGVsc2UgaWYgKGYoYSkgKiBmKGMpIDwgMCkKICAgICAgICAgICAgYiA9IGM7CiAgICAgICAgZWxzZQogICAgICAgICAgICBhID0gYzsKICAgIH0KCiAgICBjb3V0IDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbig2KTsKICAgIGNvdXQgPDwgIk1pZWpzY2UgemVyb3dlIGZ1bmtjamk6IHggPSAiIDw8IChhICsgYikgLyAyIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJXYXJ0b3NjIGZ1bmtjamkgdyB0eW0gcHVua2NpZTogZih4KSA9ICIgCiAgICAgICAgIDw8IGYoKGEgKyBiKSAvIDIpIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K