代码:
#include <cstdio>
#include <cmath>
#define eps 1e-6///精度问题,太高容易超时,太低容易答案错误,一般比题目要求的精度高两位即可
using namespace std;
double cal(double x,double y){
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--){
double y;
scanf("%lf",&y);
double r=100,l=0;
while(r-l>eps){
double mid=(l+r)/2;
double midmid=(mid+r)/2;
if(cal(mid,y)<cal(midmid,y))///简单即可
r=midmid;
else
l=mid;
}
printf("%.4lf\n",cal(l,y));
}
return 0;
}