package metodhord;
public class MetodHord {
public static void main
(String[] args
) { double x0 = 2;
double x1 = 10;
double e = 0.001;
double x = method_chord(x0, x1, e);
}
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) - 18 * x
- 83; }
}
cGFja2FnZSBtZXRvZGhvcmQ7CgpwdWJsaWMgY2xhc3MgTWV0b2RIb3JkIHsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgZG91YmxlIHgwID0gMjsKICAgICAgICBkb3VibGUgeDEgPSAxMDsKICAgICAgICBkb3VibGUgZSA9IDAuMDAxOwogICAgICAgIGRvdWJsZSB4ID0gbWV0aG9kX2Nob3JkKHgwLCB4MSwgZSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHgpOwogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZSBtZXRob2RfY2hvcmQgKGRvdWJsZSB4X3ByZXYsIGRvdWJsZSB4X2N1cnIsIGRvdWJsZSBlKSB7CiAgICAgICAgZG91YmxlIHhfbmV4dCA9IDA7CiAgICAgICAgZG91YmxlIHRtcDsKICAgICAgICBkb3sKICAgICAgICAgICAgdG1wID0geF9uZXh0OwogICAgICAgICAgICB4X25leHQgPSB4X2N1cnIgLSBmKHhfY3VycikgKiAoeF9wcmV2IC0geF9jdXJyKSAvIChmKHhfcHJldikgLSBmKHhfY3VycikpOwogICAgICAgICAgICB4X3ByZXYgPSB4X2N1cnI7CiAgICAgICAgICAgIHhfY3VyciA9IHRtcDsKICAgICAgICB9IHdoaWxlIChNYXRoLmFicyh4X25leHQgLSB4X2N1cnIpID4gZSk7CiAgICAgICAgcmV0dXJuIHhfbmV4dDsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyBkb3VibGUgZiAoZG91YmxlIHgpewogICAgICAgIHJldHVybiBNYXRoLnBvdyh4LCAzKSAtIDE4ICogeCAtIDgzOwogICAgfQp9