您的位置:首页 > 其它

hdu 2199 二分解方程

2012-02-14 13:13 260 查看
题意:给出Y的值,求x的值

思路:x 是浮点型,枚举?不会。。用的是二分查找。

#include<iostream>
using namespace std;
double ans(double x)
{return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;}
int main()
{
double Y,b,c,mid;
int N;
scanf("%d",&N);
while(N--)
{
scanf("%lf",&Y);
if(Y<ans(0)||Y>ans(100))
{
printf("No solution!\n");
continue;
}
b=0;c=100;
while(c-b>1e-10)
{
mid=(b+c)/2.0;
if(ans(mid)>Y) c=mid-(1e-10);
else if(ans(mid)<Y)b=mid+(1e-10);
}
printf("%.4f\n",mid);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: