二分的前提是单调
#include<stdio.h>
#include<string.h>
#include<math.h>
const double eps=1e-9;
double p,q,r,s,t,u;
double f(double x)
{
return p*exp(-x)+q*sin(x)+r*cos(x)+s*tan(x)+t*x*x+u;
}
int main()
{
while(scanf("%lf%lf%lf%lf%lf%lf",&p,&q,&r,&s,&t,&u)!=EOF)
{
if(f(0)<-eps||f(1)>eps) printf("No solution\n");
else
{
double l=0,r=1;
while(l+eps<r)
{
double m=(l+r)/2;
if(f(m)>0) l=m;
else r=m;
}
printf("%.4lf\n",l);
}
}
return 0;
}