diff --git a/mySqrt/mySqrt.go b/mySqrt/mySqrt.go index 111f1fd..ff9954e 100644 --- a/mySqrt/mySqrt.go +++ b/mySqrt/mySqrt.go @@ -1,13 +1,23 @@ package main func mySqrt(x int) int { - count := 0 + count := x + upperEdge := x for { if count*count > x { - count-- - break + upperEdge = count + count = count / 2 + } else { + if count*count == x { + return count + } + for i := count; i <= upperEdge; i++ { + if i*i > x { + return i - 1 + } else if i*i == x { + return i + } + } } - count++ } - return count }