作者bennylu (减肥)
看板java
标题Re: [问题] 不用Math函式有办法开根号吗?
时间Mon Nov 9 17:08:12 2009
这应该是最典型的二分逼近法吧
void main() {
double n = 100000;
System.out.println(sqrt(n, 1, n));
}
static double sqrt(double n, double start, double end) {
double mid = (start + end) / 2;
if (mid * mid == n) {
return mid;
} else if (mid == start || mid == end) {
return mid;
} else if (mid * mid < n) {
return sqrt(n, mid, end);
} else {
return sqrt(n, start, mid);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.183.92
1F:→ AmosYang:double 加上 == 等於 trouble XD 11/09 17:12
2F:→ tkcn:我也觉得这样 "好像" 会出问题 11/09 19:03
3F:→ H45:不是好像,是 double == double 绝对是 trouble 11/09 19:12