function mySqrt($n) {
if ($n == 0 || $n == 1) {
return $n;
}
$start = 1;
$end = $n;
while ($start <= $end) {
$mid = $start + ($end - $start) / 2;
if ($mid * $mid > $n) {
$end = $mid - 1;
}
elseif ($mid * $mid == $n) {
return $mid;
} else {
$start = $mid + 1;
}
}
return floor($end);
}
echo mySqrt(240000); // 489.897
/*
run:
489
*/