已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位
二分法:
package main
import "fmt"
func sqrt2() float64{
low := 1.4
high := 1.5
var mid float64
for high-low > 0.0000000001{
mid = (low+high)/2
if mid*mid>2 {
high = mid
}else {
low = mid
}
}
return mid
}
func main() {
fmt.Printf("%.10f",sqrt2())
}