Implement int sqrt(int x).

    Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

    Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

    Example 1:

    1. Input: 4
    2. Output: 2

    Example 2:

    Input: 8
    Output: 2
    Explanation: The square root of 8 is 2.82842..., and since 
                 the decimal part is truncated, 2 is returned.
    
    /**
     * @param {number} x
     * @return {number}
     */
    var mySqrt = function(x) {
        if (x < 0) {
            return NaN;
        }
        if (x <=1 ) {
            return x;
        }
        let val = x;
        let last;
        do {
            last = val;
            val = (val + x / val) / 2;
        }
        while (Math.abs(val - last) >= 1);
        return Math.floor(val);
    };