题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2199
题意: 给你一个Y 让你求出 最一个方程的根;简单二分查找的应用。
#include<cstring>
#include<string>
#include<fstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cctype>
#include<algorithm>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<stack>
#include<ctime>
#include<cstdlib>
#include<functional>
#include<cmath>
using namespace std;
#define PI acos(-1.0)
#define MAXN 100005
#define eps 1e-7
#define INF 0x7FFFFFFF
#define ff sqrt(5.0)
typedef long long ll;
double math(double x)
{
return ((((8*x+7)*x+2)*x)+3)*x+6;
}
int main()
{
double mid,l,r,y;
int t;
scanf("%d",&t);
while(t--)
{
l=0.0;
r=100.0;
mid=(l+r)/2.0;
scanf("%lf",&y);
if(y>math(100.0)||y<math(0.0))
{
printf("No solution!\n");
}
else
{
while(r-l>1e-6)
{
if(math(mid)>y)
{
r=mid;
}
else l=mid;
mid=(l+r)/2;
}
printf("%.4lf\n",mid);
}
}
return 0;
}