Skip to content

Instantly share code, notes, and snippets.

@xyos
Last active December 27, 2015 15:19
Show Gist options
  • Save xyos/7347065 to your computer and use it in GitHub Desktop.
Save xyos/7347065 to your computer and use it in GitHub Desktop.
ejemplo aproximacion de raices cuadradas con el metodo de newton
//recogemos el numero de la linea de comandos y lo guardamos en number
var args = process.argv.splice(2);
number = args[0];
//la funcion recursiva
function r_sqroot(number, guess) {
// nuestra primera aproximacion, se usa cuando aun no tenemos aproximación(1ra pasada por la función).
if (guess == undefined) {
guess = number/2;
}
// una variable temporal para comparar como cambia la aproximacion
var t = guess;
// calculamos la aproximacion
guess = (number/guess + guess)/2
// si la aproximacion temporal es igual a la nueva, terminamos de calcular
if (t == guess) {
//imprimimos la aproximacion
console.log(parseInt(guess));
return 0;
} else {
// volvemos a calcular nuesta aproximacion en caso de que no sea igual con la temporal
return r_sqroot(number,guess);
}
}
// iniciamos el calculo pasandole number a la funcion recursiva.
r_sqroot(parseInt(number));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment