En esta ocasión les traigo la resolución de un algoritmo bastante conocido y utilizado en entrevistas técnicas, no es muy difícil pero te puede pillar descuidado y si no lo practicaste antes, sumado a los nervios normales que suele sentirse cuando sabes que estás en una sesión de código en vivo, pues te puede traer problemillas, empecemos entonces.
Enunciado
Dado un número quiero que me retornes todos sus divisores, por ejemplo:
La función Divisores(10) debe retornar 1,2,5,10
Armando algoritmo
Listo pues mi crack, entonces luego de quemar coco un poco, lo que haremos será básicamente:
- Declarar una lista que será la respuesta
- iterar desde 1 hasta el número que nos dan
- Comprobar en cada iteración el RESTO (calculado en JS con %) entre el límite dado y el índice de la iteración
- Si el RESTO es cero entonces añadirlo a la lista de respuesta
- Devolver lista
Fácil eh? Codifiquemos en JavaScript 🧠
function Divisores(limite){
var listaRespuesta = [];//declaramos la lista respuesta
for(let i = 1; i<= limite ; i++){
if(limite % i == 0)
{
listaRespuesta.push(i);//si el resto de la división es cero la agregamos a la lista
}
}
return listaRespuesta;
}
console.log(Divisores(10)); //hacemos un test con 10
A las pruebas me remito
Usaré Visual Studio Code con NodeJS para ejecutar Javascript en la consola, veamos:
Entonces ahora ya sabes como es la nuez, practícalo y si puedes mejóralo, así agarrarás más confianza, más cancha estimado coleguita.
Puedes descargar este código en mi Github 😉 https://github.com/GeaSmart/algorithm-divisores
Recuerda que esta entrada es de la serie de artículos Algoritmos notables, los cuales los subo a este repo, puedes visitarlo y descubrir más algoritmos 😊
Y ya sabes crack, si esta post te ha gustado, compártelo ps 😁