作者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
→ AmosYang:double 加上 == 等於 trouble XD 11/09 17:12
→ tkcn:我也覺得這樣 "好像" 會出問題 11/09 19:03
→ H45:不是好像,是 double == double 絕對是 trouble 11/09 19:12