#include <bits/stdc++.h>
using namespace std;
float f(float x)
{
    return 2*x*x*x + 3*x -1;
}
 
int main() {
    float a, b, x, c , d;
    float e, f1;
 
    cout << "Enter Negative Interval: ";
    cin >> a;
    cout << "Enter Positive Interval: ";
    cin >> b;
    cout << "Enter Tolerance: ";
    cin >> e;
 
    int i = 1;
    do {
        c = (a + b) / 2;
        f1 = f(c);
 
        if (f1 > 0)
            b = c;
        else
            a = c;
 
        cout << i << ".  x = " << c << "   f(x) = " << f1 << endl;
        i++;
        d = b-a;
    } while (d >= e);
 
    cout << "\nApproximate Root = " << c  << endl;
    return 0;
}
 
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmZsb2F0IGYoZmxvYXQgeCkKewogICAgcmV0dXJuIDIqeCp4KnggKyAzKnggLTE7Cn0KCmludCBtYWluKCkgewogICAgZmxvYXQgYSwgYiwgeCwgYyAsIGQ7CiAgICBmbG9hdCBlLCBmMTsKCiAgICBjb3V0IDw8ICJFbnRlciBOZWdhdGl2ZSBJbnRlcnZhbDogIjsKICAgIGNpbiA+PiBhOwogICAgY291dCA8PCAiRW50ZXIgUG9zaXRpdmUgSW50ZXJ2YWw6ICI7CiAgICBjaW4gPj4gYjsKICAgIGNvdXQgPDwgIkVudGVyIFRvbGVyYW5jZTogIjsKICAgIGNpbiA+PiBlOwoKICAgIGludCBpID0gMTsKICAgIGRvIHsKICAgICAgICBjID0gKGEgKyBiKSAvIDI7CiAgICAgICAgZjEgPSBmKGMpOwoKICAgICAgICBpZiAoZjEgPiAwKQogICAgICAgICAgICBiID0gYzsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGEgPSBjOwoKICAgICAgICBjb3V0IDw8IGkgPDwgIi4gIHggPSAiIDw8IGMgPDwgIiAgIGYoeCkgPSAiIDw8IGYxIDw8IGVuZGw7CiAgICAgICAgaSsrOwogICAgICAgIGQgPSBiLWE7CiAgICB9IHdoaWxlIChkID49IGUpOwoKICAgIGNvdXQgPDwgIlxuQXBwcm94aW1hdGUgUm9vdCA9ICIgPDwgYyAgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==