#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,c; double s,e,dif; scanf("%ld",&m); for(i=0;i0.0000000007 || dif<-0.0000000007){ if(dif>0){ s=(s+e)/2.0; }else{ e=(s+e)/2.0; } dif=result((s+e)/2.0); c++; printf("%.10f\n",s); } printf("%.10f %ld\n",(s+e)/2.0,c); */ //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-=1.0; //c++; } } dif=result((s+e)/2.0); while(dif>0.0000000007 || dif<-0.0000000007){ 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; }