/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
static double f(double x) {
return 2*x*x*x + 3*x - 1;
}
public static void main
(String[] args
) {
double x0 = -1; // starting value
double x1 = 2; // starting value
double eps = 1e-6;
double x2, f0, f1, f2;
int iter = 1;
System.
out.
println("Enter the value of x0: -1"); System.
out.
println("Enter the value of x1: 2\n");
System.
out.
println("Iteration x0\t\t x1\t\t x2\t\t f0\t\t f1\t\t f2"); System.
out.
println("--------------------------------------------------------------------------------");
while (Math.
abs(x1
- x0
) > eps
) {
x2 = (x0 + x1) / 2;
f0 = f(x0);
f1 = f(x1);
f2 = f(x2);
System.
out.
printf("%-10d %.6f %.6f %.6f %.6f %.6f %.6f\n",
iter, x0, x1, x2, f0, f1, f2);
if (f0 * f2 < 0)
x1 = x2;
else
x0 = x2;
iter++;
}
System.
out.
println("\nApproximate root = " + (x0
+ x1
) / 2); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CgogICAgc3RhdGljIGRvdWJsZSBmKGRvdWJsZSB4KSB7CiAgICAgICAgcmV0dXJuIDIqeCp4KnggKyAzKnggLSAxOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCiAgICAgICAgZG91YmxlIHgwID0gLTE7ICAgLy8gc3RhcnRpbmcgdmFsdWUKICAgICAgICBkb3VibGUgeDEgPSAyOyAgICAvLyBzdGFydGluZyB2YWx1ZQogICAgICAgIGRvdWJsZSBlcHMgPSAxZS02OwogICAgICAgIGRvdWJsZSB4MiwgZjAsIGYxLCBmMjsKICAgICAgICBpbnQgaXRlciA9IDE7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgdGhlIHZhbHVlIG9mIHgwOiAtMSIpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgdGhlIHZhbHVlIG9mIHgxOiAgMlxuIik7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiSXRlcmF0aW9uICAgeDBcdFx0ICB4MVx0XHQgIHgyXHRcdCAgIGYwXHRcdCAgIGYxXHRcdCAgIGYyIik7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOwoKICAgICAgICB3aGlsZSAoTWF0aC5hYnMoeDEgLSB4MCkgPiBlcHMpIHsKCiAgICAgICAgICAgIHgyID0gKHgwICsgeDEpIC8gMjsKICAgICAgICAgICAgZjAgPSBmKHgwKTsKICAgICAgICAgICAgZjEgPSBmKHgxKTsKICAgICAgICAgICAgZjIgPSBmKHgyKTsKCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCIlLTEwZCAlLjZmICAlLjZmICAlLjZmICAlLjZmICAlLjZmICAlLjZmXG4iLAogICAgICAgICAgICAgICAgICAgIGl0ZXIsIHgwLCB4MSwgeDIsIGYwLCBmMSwgZjIpOwoKICAgICAgICAgICAgaWYgKGYwICogZjIgPCAwKQogICAgICAgICAgICAgICAgeDEgPSB4MjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgeDAgPSB4MjsKCiAgICAgICAgICAgIGl0ZXIrKzsKICAgICAgICB9CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiXG5BcHByb3hpbWF0ZSByb290ID0gIiArICh4MCArIHgxKSAvIDIpOwogICAgfQp9Cg==