>>966 あーもしかすると単純に2分探索を3分にしただけの事を指してるかもしれないので
それも一応書いとく
#include<stdio.h>
#include<math.h>
const double EPS = 10e-8;
double g(double x){return x*x*x-25;}
bool zero(double x){return (x<0?-x:x)<EPS;}
double f(double a,double d,double ax,double dx){
double b = a+(d-a)/3*1 , bx= g(b);
double c = a+(d-a)/3*2 , cx= g(c);
if(zero(d-a))return (a+d)/2;
if(bx > 0)return f(a,b,ax,bx);
if(cx > 0)return f(b,c,bx,cx);
return f(c,d,cx,dx);
}
double f(double a,double c){
return f(a,c,g(a),g(c));
}
int main(){
double t = f(0,25);
printf("%g %g\n",t,t*t*t);
}