#include<bits/stdc++.h>
using namespace std;
//f(x) = x5 - 15 * x4+ 85 * x3- 225 * x2+ 274 * x - 121
double f(double x){
return pow(x,5)-15*pow(x,4)+85*pow(x,3)-225*pow(x,2)+274*x-121;
}
//二分法的关键是每次可以把问题规模缩小到原来的一半
double g(double left,double right){
double mid=(left+right)/2;
double t=f(mid);
if(fabs(t)<1e-10) return mid;
else if(t<0) return g(left,mid);
else return g(mid,right);
}
int main() {
printf("%lf",g(1.5,2.4));
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交