チュートリアルの内容。http://go-tour-jp.appspot.com/#24 計算機科学の初期の内容なので、学んだのは10年前くらい。理解に時間がかかった・・・
package main import ( "fmt" ) func Sqrt(v float64) float64 { n := 100 //init value (that is near around v) xn := 0.0 for ; xn * xn < v; xn++ { } for i := 0; i < n; i++ { xn = (xn*xn + v) / (2*xn) } return xn } func main() { fmt.Println(Sqrt(5)) var answer = 2.2360679775 fmt.Println(answer) }
結果
2.23606797749979 2.2360679775