Resolviendo el reto/Solving the challenge

in STEMGeeks5 months ago (edited)

Esta es una serie de post que se enfocan en resolver los problemas diarios del usuario @ydavgonzalez paso a paso y enseñando el enfoque de programación.

enlace al reto

"La programación es el arte de hacer que las máquinas hagan lo que queremos sin que se den cuenta de que lo están haciendo." - Donald Knuth

Problema:
Determinar cuántos divisores positivos tienen en común los números 33000 y 45000.

Bases matemáticas y de programación necesarias:

  • Teoría de números: Factorización prima, divisores comunes
  • Programación: Búsqueda de factores, iteración, almacenamiento de resultados

Código JavaScript:
// Factorizar los números
const factores33000 = [];
const factores45000 = [];
for (let i = 1; i <= 33000; i++) {
if (33000 % i === 0)
factores33000.push(i);
}
for (let i = 1; i <= 45000; i++) {
if (45000 % i === 0)
factores45000.push(i);
}

// Encontrar divisores comunes
let divisoresComunes = [];
for (let i = 0; i < factores33000.length; i++) {
if (factores45000.includes(factores33000[i])) {
divisoresComunes.push(factores33000[i]);
}
}

// Mostrar el resultado
console.log(Los números 33000 y 45000 tienen ${divisoresComunes.length} divisores positivos en común.);
Resultado:Los números 33000 y 45000 tienen 12 divisores positivos en común.