我正在进行巡回演出,我不确定我在问题#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))
}
我收到错误:[过程花了太长时间]
答案 0 :(得分:6)
您没有在循环中递增i
变量,因此始终为< 10
。
//-----------v
for ; i < 10; i++ {
guess = guess - (math.Pow(guess, 2)-x)/(2*guess)
}