2

Go Tourの練習問題#8を解こうとしています。

ソリューションが失敗し、エラー メッセージが表示されるthe process to take too long

なにが問題ですか ?

package main

import (
    "fmt"
    "math"
)

func Sqrt(x float64) float64 {
    guess := 1.0
    i := 1
    for i < 10 {
        guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
    }
    return guess
}

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

1 に答える 1

7

iループ内で変数をインクリメントしていないため、常に< 10.

 //-----------v
for ; i < 10; i++ {
    guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
}
于 2013-03-15T01:46:30.023 に答える