求平方根的一種叫牛頓算法的文字,先給出一個猜測值,用連續逼近方法求出平方根。
首先我們設要求的這個數爲a,它的平方根爲x;然後我們一開始令x=a;然後我們進入一個循環,不斷的令x=(x+a/x)/2,就是令x等於 x和a/x的平均值,這樣迭代了7-10次左右就可以得到a的平方根x的近似值。
package mainimport (
"fmt"
"math"
)
func Sqrt(x float64) float64 {
z := x
for i := 0; i < 10; i++ {
z = (z + x/z)/2
}
return z
}
func main() {
fmt.Println(Sqrt(2))
fmt.Println(math.Sqrt(2))
}