添加链接描述
HDU–2899
解法:
#include <stdio.h>
#include <math.h>
#define eps 1e-8
double y;
double cal(double x)
{
return 6 * pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lf",&y);
double l=0,r=100;
double mid, midmid;
while ( l + eps < r )
{
mid = (l+r) / 2;
midmid = (mid + r ) / 2;
double cmid = cal(mid);
double cmidmid = cal(midmid);
if ( cmid < cmidmid )
r = midmid;
else
l = mid;
}
printf("%.4lf\n",cal(r));
}
return 0;
}