面试题: 不使用库函数求一个数的立方根.
解法: 二分法.
- double fun(double x) {
- if (x == 0) return 0;
- double low = 0;
- double top = x;
- if (x <0) {
- low = x;
- top = 0;
- }
- while (low<top)
- {
- double mid = (low + top) / 2;
- double tmp = mid*mid*mid;
- if (tmp> x) {
- top = mid;
- }
- else if (tmp < x) {
- low = mid;
- }
- else {
- return mid;
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2776152.html