1.思路

给定一个数x,求解x的开方,取半值逐渐逼近。

1
2
3
4
5
6
7
func Sqrt(x float64) float64 {
    z := x / 2 // 猜测值
    for i := 0; i < 10; i++ {
        z -= (z*z - x) / (2 * z) // 逐渐逼近
    }
    return z
}