SQRT without Math (Recursive)
by ronilan
JavaScript
// SQRT without Math (Recursive)
function _sqrt(solve, start, end) {
var accuracy = 0.000000000000001;
var guess = start + (end - start) / 2;
if (guess * guess < solve) {
start = guess;
} else {
end = guess;
}
// stop condition
if (Math.abs(guess * guess - solve) > accuracy) {
guess = _sqrt(solve, start, end);
}
return guess;
}
function sqrt(solve) {
var result = NaN;
var start = 0;
var end = solve;
if (solve < 1) {
start = solve;
end = 1
}
if (solve > 0) {
result = _sqrt(solve, start, end);
}
return result;
}
console.log(sqrt(256), Math.sqrt(256));
console.log(sqrt(2), Math.sqrt(2));
console.log(sqrt(0.49), Math.sqrt(0.49));