2016-08-10 2 views
-1

В go Я получаю два разных ответа на уравнения, которые должны оценивать то же, насколько я могу видеть ... Я делаю тур go, и я нахожусь на этой странице (https://tour.golang.org/flowcontrol/8)go выражение похоже не соответствует порядку операций

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

Но я не вижу никаких причин, почему я необходимо будет указать порядок операций, подобный этому, поскольку похоже, что это не должно быть

ответ

2

Выражение a/b * c сгруппировано как (a/b) * c. Выражение a/(b * c) сгруппировано, как показано. Первый умножается на c. Второй делится на c.

Смежные вопросы