1001 Can you solve this equation
题意:给定方程组,求解满足方程的x。
思路:解方程的问题,就是不断的二分查找,在给定精度的范围内,寻找满足要求的解。
感想:解方程思路常规模式,并没有任何的难度,可是一直wrang,要疯了,头文件各种都尝试过,还是错,后来改了一些精度范围,终于ac!
#include<iostream>
#include<math.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
double sum(double x){
return 8*pow(x,4)+7*pow(x,3)+2*pow(x,2)+3*x+6;
}
int main(){
int T;
double Y,f,l,mid;
cin>>T;
while(T--){
cin>>Y;
if(sum(0)<=Y&&sum(100)>=Y){
f=0.0;
l=100.0;
while(l-f>=1e-10){
mid=(l+f)/2;
if(sum(mid)>Y)
l=mid;
else if(sum(mid)==Y)
printf("%.4lf\n",mid);
else
f=mid;
}
printf("%.4lf\n",(f+l)/2);
}
else
printf("No solution!\n");
}
return 0;
}