给出y,
求方程y=8*x^4+7*x^3+2*x^2+3*x+6
在0-100的解
二分法求解!!!
#include<iostream>
#include<math.h>
using namespace std;
double fun(double x)
{
return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;
}
int main()
{
int t;
double y,p,q,mid,x;
scanf("%d",&t);
while(t--)
{
scanf("%lf",&y);
p=0,q=100;
if(y<fun(p)||y>fun(q))
{
printf("No solution!\n");
continue;
}
while(q-p>0.00000001)
{
mid=(p+q)/2;
x=fun(mid);
if(x>y)
q=mid;
else
p=mid;
}
printf("%.2lf\n",(p+q)/2);
}
return 0;
}