GMA+ avatar

Resolviendo el reto /Solving Challenge

gmaplus

Published: 01 Sept 2024 › Updated: 01 Sept 2024Resolviendo el reto /Solving Challenge

Resolviendo el reto /Solving Challenge

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@ydavgonzalez y a la vez enseñar el enfoque de programación .

Puedes encontrar el reto aqui y dejar tu solución
@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!

  1. Descomposición en Factores Primos:
  • Comencemos factorizando el número 10240 en sus factores primos:
    • 10240 = 2^10 * 5^1
  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.

  1. ¡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

@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!

  1. Prime Factorization:
  • Let's start by factoring the number 10240 into its prime factors:
    • 10240 = 2^10 * 5^1
  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.

  1. 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

Leave Resolviendo el reto /Solving Challenge to:

Written by

Informatic Engineer ,skater,violinist,languaje lover ,and live learner.

Read more #hive-153850 posts


Best Posts From GMA+

We have not curated any of gmaplus's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From GMA+