using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace metodHord
{
class Program
{
static void Main(string[] args)
{
double x0 = 1;
double x1 = 2;
double e = 0.001;
double x = method_chord(x0, x1, e);
Console.WriteLine(x);
Console.ReadLine();
}
public static double method_chord(double x_prev, double x_curr, double e)
{
double x_next = 0;
double tmp;
do
{
tmp = x_next;
x_next = x_curr - f(x_curr) * (x_prev - x_curr) / (f(x_prev) - f(x_curr));
x_prev = x_curr;
x_curr = tmp;
} while (Math.Abs(x_next - x_curr) > e);
return x_next;
}
public static double f(double x)
{
return Math.Pow(x, 3) + x - 5;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0Owp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwoKbmFtZXNwYWNlIG1ldG9kSG9yZAp7CiAgICBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsKICAgICAgICAgICAgZG91YmxlIHgwID0gMTsKICAgICAgICAgICAgZG91YmxlIHgxID0gMjsKICAgICAgICAgICAgZG91YmxlIGUgPSAwLjAwMTsKICAgICAgICAgICAgZG91YmxlIHggPSBtZXRob2RfY2hvcmQoeDAsIHgxLCBlKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoeCk7CiAgICAgICAgICAgIENvbnNvbGUuUmVhZExpbmUoKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIG1ldGhvZF9jaG9yZChkb3VibGUgeF9wcmV2LCBkb3VibGUgeF9jdXJyLCBkb3VibGUgZSkKICAgICAgICB7CiAgICAgICAgICAgIGRvdWJsZSB4X25leHQgPSAwOwogICAgICAgICAgICBkb3VibGUgdG1wOwoKICAgICAgICAgICAgZG8KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdG1wID0geF9uZXh0OwogICAgICAgICAgICAgICAgeF9uZXh0ID0geF9jdXJyIC0gZih4X2N1cnIpICogKHhfcHJldiAtIHhfY3VycikgLyAoZih4X3ByZXYpIC0gZih4X2N1cnIpKTsKICAgICAgICAgICAgICAgIHhfcHJldiA9IHhfY3VycjsKICAgICAgICAgICAgICAgIHhfY3VyciA9IHRtcDsKICAgICAgICAgICAgfSB3aGlsZSAoTWF0aC5BYnMoeF9uZXh0IC0geF9jdXJyKSA+IGUpOwoKICAgICAgICAgICAgcmV0dXJuIHhfbmV4dDsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzdGF0aWMgZG91YmxlIGYoZG91YmxlIHgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gTWF0aC5Qb3coeCwgMykgKyB4IC0gNTsKICAgICAgICB9CiAgICB9Cn0=