题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2199
题意:给一个Y,求满足8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y的x,且X在范围[0,100]中,若没有符合要求的X则输出No solution!
不知道为什么while开到1e-6会wa,但是开到1e-8也就二分34次(不用吝啬haha)
#include<bits/stdc++.h>
using namespace std;
double f(double n){return *n*n*n*n+*n*n*n+*n*n+*n+;}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double l=,r=,y;
scanf("%lf",&y);
if(f()>y||f()<y){printf("No solution!\n");continue;}
while(r-l>1e-)
{
double mid=(l+r)/;
if(f(mid)<y)l=mid; //<=和<都可以过...
else r=mid;
}
printf("%.4f\n",l);
}
return ;
}