题解 | #平方根#
平方根
http://www.nowcoder.com/practice/8288067839ed4250879b552f28edd2d7
function _sqrt(number) {
// 补全代码
// 法一:调库
return Math.sqrt(number);
// 法二:牛顿迭代法
if (number === 0 || number === 1) {
return number
}
let r = number
while (r * r - number > 0.1) {
// 逼近公式,证明略,此处照抄
r = (r + number / r) / 2
}
let rr = Math.round(r) // 舍位进位
if (rr * rr === number) {
return rr
} else {
return Math.floor(r)
}
}