#include #include #include using namespace std; const double ERROR = 1e-11; double theFunction(double x) { x/=20; return ((((x+2)*x-52)*x+3)*x+524)*x-329; } double getX(double low,double high,double target) { double slope=theFunction(high)-theFunction(low); //for slope sign double x=high; double y=theFunction(x); double prev=x; while (fabs(theFunction(x)-target)>ERROR) { x=(high+low)*0.5; y=theFunction(x); if (prev==y) break; //found the thing! maybe if (y0 || y>target && slope<0) low=x; else high=x; prev=y; } return x; } int main() { double low,high,target; cout.fill('0'); while (cin>>low>>high>>target && (low!=0 || high!=0 || target!=0)) { double x=getX(low,high,target); if (fabs(theFunction(x)-target)>ERROR) cout<<"Professor, there is no Function...\n"; else cout<