#include #include int a,b; double time; double beki(double x,int n){ if(n==0) return 1; return x*beki(x,n-1); } double result(double x){ return time-beki(x,a)*beki(log(x),b); } double newresult(double x){ return (x*log(x)-time)/((double)a*log(x)+(double)b); } int main(){ long m,i; double s,e,dif; scanf("%ld",&m); for(i=0;i0.0000000008 || dif<-0.0000000008){ if(dif>0){ s=(s+e)/2.0; }else{ e=(s+e)/2.0; } dif=result((s+e)/2.0); } printf("%.10f\n",(s+e)/2.0); /* //c=0; s=22027.0; dif=result(s); while(dif>0.0001 || dif<-0.0001){ s-=newresult(s); dif=newresult(s); //c++; } dif=result(s); e=s; if(dif>0){ while(result(e)<0){ e+=1.0; //c++; } }else{ e=s; while(result(s)<0){ s-=(s-1.0)/2.0; //c++; } } dif=result((s+e)/2.0); while(dif>0.0000000008 || dif<-0.0000000008){ if(dif>0){ s=(s+e)/2.0; }else{ e=(s+e)/2.0; } //printf("%f %.10f %.10f\n",dif,s,e); dif=result((s+e)/2.0); //c++; } printf("%.10f\n",(s+e)/2.0); */ } } return 0; }