求C++大神给编写一个小程序
1个回答
展开全部
思路:求x^0.5 = y,相当于找 y^2 = x
用二分枚举y,这样直到找到合适的解
#include <stdio.h>
#include <math.h>
const double ep = 0.0000001; //精度
const double num = 98765432123456789.0; //目标数
int main() {
double start = 0;
double end = 10000000000.0;
while ( fabs(end-start) > ep ) {
double mid = (start+end)/2;
if (mid*mid < num) {
start = mid;
}
else {
end = mid;
}
}
printf("%.7f\n",start);
return 0;
}
输出:
314269680.5666381
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询