Q****a 发帖数: 296 | 1 我用牛顿迭代法和二分法都试过, precision 最小能设成 1e-15 (或者9e-16),再
小(比如1e-16) 就死循环了 = =
可是我用precision = 1e-15做,返回结果比java里面Math.sqrt() 精度少一位 (比如
sqrt(2.0) 我return 1.414213562373095, 而java math return 1.
4142135623730951)。
请问大牛Math。sqrt怎么能精度多一位的? |
S****e 发帖数: 127 | |
Q****a 发帖数: 296 | 3 电面里面试官让写返回double的,可是我回去运行程序发现我的结果比Math.sqrt 精度
少一位,咋办?
【在 S****e 的大作中提到】 : 有点儿钻牛角尖儿了。准备些设计吧
|
y*******g 发帖数: 6599 | 4 没关系,继续下一题吧
不然就去看java源码。
【在 Q****a 的大作中提到】 : 电面里面试官让写返回double的,可是我回去运行程序发现我的结果比Math.sqrt 精度 : 少一位,咋办?
|
Q****a 发帖数: 296 | 5 我搜了一下源码,没找到具体的implementation,大牛能大概说说(或者给个link)正
确的算法么? 难道是用BigDecimal算出来,再convert 到double? 还是用改良版的牛
顿迭代?万谢 ~~
【在 y*******g 的大作中提到】 : 没关系,继续下一题吧 : 不然就去看java源码。
|
S****e 发帖数: 127 | 6 Did he also ask you to have the same precision as math.sqrt? If not, you are
really zuan niu jiao jian now.
【在 Q****a 的大作中提到】 : 电面里面试官让写返回double的,可是我回去运行程序发现我的结果比Math.sqrt 精度 : 少一位,咋办?
|
Q****a 发帖数: 296 | 7 说是implement sqrt like math.sqrt, 我就好奇问问,找不到答案就算了~~
are
【在 S****e 的大作中提到】 : Did he also ask you to have the same precision as math.sqrt? If not, you are : really zuan niu jiao jian now.
|
y*******g 发帖数: 6599 | 8 http://stackoverflow.com/questions/825221/where-can-i-find-the-
【在 Q****a 的大作中提到】 : 我搜了一下源码,没找到具体的implementation,大牛能大概说说(或者给个link)正 : 确的算法么? 难道是用BigDecimal算出来,再convert 到double? 还是用改良版的牛 : 顿迭代?万谢 ~~
|