求平方根的一种叫牛顿算法的文字,先给出一个猜测值,用连续逼近方法求出平方根。
首先我们设要求的这个数为a,它的平方根为x;然后我们一开始令x=a;然后我们进入一个循环,不断的令x=(x+a/x)/2,就是令x等于 x和a/x的平均值,这样迭代了7-10次左右就可以得到a的平方根x的近似值。
package main
import (
"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))
}
有疑问加站长微信联系(非本文作者)