解方程 查看测评数据信息
数学上经常需要解方程。现在有函数: f(x) = 2x^5+7x^3+100,求f(x)=y解。
提示:下面是goc程序画出的函数图形,可以看出函数是单调上升的。
![](https://img-blog.csdnimg.cn/img_convert/8ed493068b3d4f1ea35593a9c9aebafc.png)
输入格式
第一行1个实数:y,范围在[-1000000000,1000000000]。
输出格式
一个实数x,使得f(x)=y。
x的精度小于0.001。
输入/输出例子1
输入:
200
输出:
1.91184
#include<bits/stdc++.h>
using namespace std;
int n;
double check(double x)
{
return 2*(x*x*x*x*x)+7*(x*x*x)+100;
}
double find(double X)
{
double L=-10000000,R=10000000;
while(L+0.00001<=R)
{
double mid=(L+R)/2;
if(check(mid)<=X)L=mid;
else R=mid;
}
if(check(L)==X)
{
return R;
}
else
{
return R;
}
}
int main()
{
cin>>n;
cout<<find(n);
return 0;
}