GoLang Tour#23

时间:2013-03-15 01:34:43

标签: go

我正在进行巡回演出,我不确定我在问题#23中所犯的错误导致该过程花费的时间太长。 http://tour.golang.org/#23

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))
}

我收到错误:[过程花了太长时间]

1 个答案:

答案 0 :(得分:6)

您没有在循环中递增i变量,因此始终为< 10

 //-----------v
for ; i < 10; i++ {
    guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
}