koukiblog

たぶんweb系の話題

Go言語の関数とループ

A Tour of Goを進めてたのでその備忘


問題:
関数とループを使った簡単な練習として、 ニュートン法 を使った平方根の計算を実装してみましょう。

ニュートン法は、開始点 z を選び、以下の式を繰り返すことによって、 Sqrt(x) を近似します:

https://go-tour-jp.appspot.com/content/img/newton.png


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

次に、ループを回すときの直前に求めたzの値がこれ以上変化しなくなったとき (または、差がとても小さくなったとき)に停止するようにループを変更してみてください。 この変更により、ループ回数が多くなったか、少なくなったのか見てみてください。 math.Sqrt と比べてどれくらい近似できましたか?


回答:
gist.github.com