Esta es una serie de Post que se enfocarán en el paso a paso para resolver los problemas diarios que plantea el usuario @ydavgonzalez y a la vez enseñar el enfoque de programación .
Puedes encontrar el reto aqui y dejar tu solución
https://ecency.com/hive-163521/@ydavgonzalez/problema-matematico-del-dia30-08-2024
¡Aprende a contar divisores con JavaScript! 🧮
En este post, vamos a explorar la fascinante relación entre la programación y las matemáticas para resolver un problema que involucra divisores de un número. 🚀
El problema: ¿Cuántos divisores positivos del número 10240 tienen una suma de dígitos igual a 12?
¡Vamos a descomponer el problema paso a paso!
- Descomposición en Factores Primos:
- Comencemos factorizando el número 10240 en sus factores primos:
- 10240 = 2^10 * 5^1
- Contando Dividores:
Para calcular la cantidad de divisores positivos, seguimos esta regla:
- Si un número se expresa como p₁^a₁ * p₂^a₂ * ... * pₙ^aₙ (donde pᵢ son números primos y aᵢ son sus exponentes),
- El número total de divisores es (a₁+1) * (a₂ + 1) * ... * (aₙ + 1).
En nuestro caso: (10 + 1) * (1 + 1) = 22 divisores.
- ¡JavaScript al Rescate!
- Para encontrar los divisores que cumplen con la condición de suma de dígitos igual a 12, usaremos un código en JavaScript:function sumaDigitos(numero) {
let suma = 0;
let numeroString = numero.toString();
for (let i = 0; i < numeroString.length; i++) {
suma += parseInt(numeroString[i]);
}
return suma;
}
function contarDivisores(numero, sumaDeseada) {
let contador = 0;
for (let i = 1; i <= numero; i++) {
if (numero % i === 0 && sumaDigitos(i) === sumaDeseada) {
contador++;
}
}
return contador;
}
let numero = 10240;
let sumaDeseada = 12;
let resultado = contarDivisores(numero, sumaDeseada);
console.log(El número ${numero} tiene ${resultado} divisores cuya suma de dígitos es ${sumaDeseada}.);
Explicación del código:
- La función sumaDigitos calcula la suma de los dígitos de un número.
- La función contarDivisores itera sobre todos los números desde 1 hasta el número dado.
- Se verifica si el número es divisor del número original y si la suma de sus dígitos es igual a la suma deseada.
- Si ambas condiciones se cumplen, se incrementa el contador.
¡Y la respuesta es...
Al ejecutar el código, obtenemos la respuesta: "El número 10240 tiene 4 divisores cuya suma de dígitos es 12."
¡Hemos aprendido a:
- Factorizar números en primos.
- Calcular la cantidad de divisores.
- Escribir código en JavaScript para automatizar el proceso.
¡Sigue explorando el mundo de la programación y las matemáticas!
#Programación #JavaScript #Matemáticas #Divisores #SoluciónDeProblemas
Find challenge here
https://ecency.com/hive-163521/@ydavgonzalez/problema-matematico-del-dia30-08-2024
Learn to Count Divisors with JavaScript! 🧮
In this post, we're going to explore the fascinating relationship between programming and mathematics to solve a problem involving divisors of a number. 🚀
The problem: How many positive divisors of the number 10240 have a sum of digits equal to 12?
Let's break down the problem step by step!
- Prime Factorization:
- Let's start by factoring the number 10240 into its prime factors:
- 10240 = 2^10 * 5^1
- Counting Divisors:
To calculate the number of positive divisors, we follow this rule:
- If a number is expressed as p₁^a₁ * p₂^a₂ * ... * pₙ^aₙ (where pᵢ are prime numbers and aᵢ are their exponents),
- The total number of divisors is (a₁+1) * (a₂ + 1) * ... * (aₙ + 1).
In our case: (10 + 1) * (1 + 1) = 22 divisors.
- JavaScript to the Rescue!
- To find the divisors that meet the condition of the sum of digits being equal to 12, we will use a code in JavaScript:function sumDigits(number) {
let sum = 0;
let numberString = number.toString();
for (let i = 0; i < numberString.length; i++) {
sum += parseInt(numberString[i]);
}
return sum;
}
function countDivisors(number, desiredSum) {
let counter = 0;
for (let i = 1; i <= number; i++) {
if (number % i === 0 && sumDigits(i) === desiredSum) {
counter++;
}
}
return counter;
}
let number = 10240;
let desiredSum = 12;
let result = countDivisors(number, desiredSum);
console.log(The number ${number} has ${result} divisors whose sum of digits is ${desiredSum}.);
Code Explanation:
- The sumDigits function calculates the sum of the digits of a number.
- The countDivisors function iterates over all numbers from 1 to the given number.
- It checks if the number is a divisor of the original number and if the sum of its digits is equal to the desired sum.
- If both conditions are met, the counter is incremented.
And the answer is...
When executing the code, we get the answer: "The number 10240 has 4 divisors whose sum of digits is 12."
We have learned to:
- Factorize numbers into primes.
- Calculate the number of divisors.
- Write JavaScript code to automate the process.
Keep exploring the world of programming and mathematics!
#Programming #JavaScript #Mathematics #Divisors #ProblemSolving