在go
中,我得到了两个不同的方程答案,这些方程应该在我可以看到的范围内进行评估…我正在做go
之旅,我在这个页面(https://tour.golang.org/flowcontrol/8)
package main
import (
"fmt"
)
func Sqrt(x float64) float64 {
z := 1.0
for i := 0; i < int(x); i++ {
z = z - ((z * z - x) / 2 * z)
fmt.Println(z)
}
return z
}
func main() {
fmt.Println(Sqrt(9))
}
这是我最初写的代码,不工作,似乎我"需要"这样的括号…
z = z - ((z * z - x) / (2 * z))
但是我不明白为什么我需要指定这样的操作顺序,因为这似乎无关紧要
将表达式a / b * c
分组为(a / b) * c
。表达式a / (b * c)
分组如下所示。第一个乘以c
。第二个除以c