#include <iostream>
#include <cmath>
using namespace std;
double f(double x)
{
return x * x - 2.0 * x - 2.0 * cos(x);
}
int main()
{
int quantity = 0;
double a, b, c, epsilon = 0.00189;
cin >> a >> b;
while (fabs(b - a) > epsilon)
{
quantity++;
c = (a + b) / 2;
cout<<f(a)<<" "<<f(c)<<" "<<f(b)<< " [a,b]=";
if (f(a) < f(c))
{
b = c;
}
else
{
a = c;
}
cout<<a<<" "<<b<<endl;
}
double x_min = (b + a) / 2;
cout << "Локальний мінімум: " << x_min << endl;
cout << "Кількість ітерацій: " << quantity << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKZG91YmxlIGYoZG91YmxlIHgpCnsKICAgIHJldHVybiB4ICogeCAtIDIuMCAqIHggLSAyLjAgKiBjb3MoeCk7Cn0KCgppbnQgbWFpbigpCnsKICAgIGludCBxdWFudGl0eSA9IDA7CiAgICBkb3VibGUgYSwgYiwgYywgZXBzaWxvbiA9IDAuMDAxODk7CiAgICBjaW4gPj4gYSA+PiBiOwoKCiAgICB3aGlsZSAoZmFicyhiIC0gYSkgPiBlcHNpbG9uKQogICAgewogICAgICAgIHF1YW50aXR5Kys7CiAgICAgICAgYyA9IChhICsgYikgLyAyOwoKCQljb3V0PDxmKGEpPDwiICI8PGYoYyk8PCIgIjw8ZihiKTw8ICIgW2EsYl09IjsKICAgICAgICBpZiAoZihhKSA8IGYoYykpCiAgICAgICAgewogICAgICAgICAgICBiID0gYzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgYSA9IGM7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGE8PCIgIjw8Yjw8ZW5kbDsKICAgIH0KCgogICAgZG91YmxlIHhfbWluID0gKGIgKyBhKSAvIDI7CiAgICBjb3V0IDw8ICLQm9C+0LrQsNC70YzQvdC40Lkg0LzRltC90ZbQvNGD0Lw6ICIgPDwgeF9taW4gPDwgZW5kbDsKICAgIGNvdXQgPDwgItCa0ZbQu9GM0LrRltGB0YLRjCDRltGC0LXRgNCw0YbRltC5OiAiIDw8IHF1YW50aXR5IDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==
-2 -2.0806 0.832294 [a,b]=1 2
-2.0806 -0.891474 0.832294 [a,b]=1 1.5
-2.0806 -1.56814 -0.891474 [a,b]=1 1.25
-2.0806 -1.84673 -1.56814 [a,b]=1 1.125
-2.0806 -1.96947 -1.84673 [a,b]=1 1.0625
-2.0806 -2.02652 -1.96947 [a,b]=1 1.03125
-2.0806 -2.05393 -2.02652 [a,b]=1 1.01562
-2.0806 -2.06736 -2.05393 [a,b]=1 1.00781
-2.0806 -2.07401 -2.06736 [a,b]=1 1.00391
-2.0806 -2.07731 -2.07401 [a,b]=1 1.00195
-2.0806 -2.07896 -2.07731 [a,b]=1 1.00098
Локальний мінімум: 1.00049
Кількість ітерацій: 11