2013-03-15 44 views
2

我正在進行巡迴演出,而且我不確定我是否在使用問題#23所導致的錯誤,導致過程耗時太久。 http://tour.golang.org/#23GoLang Tour#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)) 
} 

我得到的錯誤:過程耗時過長]

回答

6

你不增加你的循環中i變量,所以它總是< 10

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