#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
double f(double x) {
return pow(x, 5.0) - 15 * pow(x, 4.0) + 85 * pow(x, 3.0) - 225 * pow(x, 2.0) + 274 * x - 121;
}
double Binary(double begin, double end) {
double mid = (begin + end) / 2;
if (f(mid) > 0.000001) {
begin = mid;
return Binary(begin, end);
}
else if (f(mid) < -0.000001) {
end = mid;
return Binary(begin, end);
}
return mid;
}
int main() {
double begin,mid,end;
begin = 1.5;
end = 2.4;
double res=Binary(begin, end);
cout <<fixed<< setprecision(6)<<res << endl;
}
【cpp练习】二分法递归求函数零点
最新推荐文章于 2024-09-30 07:31:33 发布