很简单的三分 也可以求导 二分
#include <iostream>
#include <algorithm>
#include <queue>
#include <cstring>
#include <cstdio>
#include <vector>
#include <string>
#include <iterator>
#include <cmath>
#include <deque>
#include <stack>
#include <cctype>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef long double ld;
const int N = 11000;
const int INF = 0xfffffff;
const double eps = 1e-6;
const ll MOD = 1e9 + 7;
#define INFL 0x7fffffffffffffffLL
#define met(a, b) memset(a, b, sizeof(a))
#define rep(c, a, b) for (int c = a; c < b; c++)
#define nre(c, a, b) for (int c = a; c > b; c--)
#define put(a) cout << setiosflags(ios::fixed) << setprecision(a)
double f(double x, double y);
int main ()
{
int t; cin >> t;
while (t--)
{
double y;
cin >> y;
double l = 0, r = 100, ll, rr;
while (r - l > eps)
{
ll = (l + r) / 2.0;
rr = (ll + r) / 2.0;
if (f(ll, y) < f(rr, y)) r = rr;
else l = ll;
}
put (4) << f (ll, y) << endl;
}
return 0;
}
double f(double x, double y)
{
return 6*pow( x,7.0 )+8*pow( x,6.0 )+7*pow( x,3.0 )+5*pow( x,2.0 )-y*x;
}