A Tour of Goをやってみる-はじめてのGo言語


A Tour of Goをやってみた。
A Tour of Go

エクササイズの回答は、
A Tour of Go の練習問題 – Qiita
にあった。

以下は個人的な補足メモ。
Exercise: Loops and Functions
http://go-tour-jp.appspot.com/#24
で、

最初は、その計算式を10回だけ繰り返し、 x を(1, 2, 3, …)と様々な値に対する結果がどれだけ正解値に近いかを確認してみてください。

を試す。

package main

import (
    "fmt"
    "math"
)

func Sqrt(x float64) float64 {
    z := 1.0
    for i := 0; i < 10; i++ {
        z = z - (z * z - x) / (2 * z)
    }
    return z
}

func main() {
    fmt.Println(math.Sqrt(2))
    fmt.Println(Sqrt(2))
}

fmt.Println(math.Sqrt(2))
fmt.Println(Sqrt(2))
の数字がx部分で、上がmath.Sqrtを使った時の答え、下がforループを10回まわした時の答え。

1.4142135623730951
1.414213562373095

差がでていますね。

こちらが3の時。
1.7320508075688772
1.7320508075688774

あとは
A Tour of Go の練習問題 - Qiita
にあるように、if文を追加してあげれば良い。