# sqrtApproximate function

Returns an approximation of the integer square root of `n`

.

This function is much faster than math.sqrt for integers, but is an
*approximation* that is likely good enough for most use-cases (e.g. games).

The algorithm is based on the Newton's method, which iteratively refines the guess by averaging it with the original number divided by the guess.

## Example

```
print(approximateSqrt(9)); // => 3
print(approximateSqrt(16)); // => 4
print(approximateSqrt(25)); // => 5
```

## Implementation

```
int sqrtApproximate(int n) {
var g = 0x8000;
var c = 0x8000;
while (true) {
if (g * g > n) {
g ^= c;
}
c >>= 1;
if (c == 0) {
return g;
}
g |= c;
}
}
```