话不多说,直接上代码
#include <iostream>
#include <cmath>
const double EPS = 1e-6;
double f(double x) {
return x * x - 10;
}
int main() {
double left = 0, right = 10;
while (right - left > EPS) {
double mid = (left + right) / 2;
if (f(mid) > 0) {
right = mid;
} else {
left = mid;
}
}
std::cout << "根号10的值为:" << left << std::endl;
return 0;
}
可以避免BUG,但是计算时间真的是老长老长老长...........