GMA+ avatar

Resolviendo el reto /Solving Challenge

gmaplus

Published: 04 Sept 2024 › Updated: 04 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 .

english version

Enlace al reto:

Matemáticas y Programación Educativa: Resolución de un Problema de Combinatoria

Base Matemática:

El problema planteado se puede resolver utilizando principios de combinatoria, específicamente el principio de multiplicación.

Pasos:

  1. Determinar el número de opciones para cada dígito:

    • Centenas: 1-9 (9 opciones)
    • Decenas: 0-9 (10 opciones)
    • Unidades: 0-9 (10 opciones)
  2. Multiplicar las opciones de cada dígito:

    • Opciones totales: 9 × 10 × 10 = 900
  3. Determinar los números con suma de dígitos par:

    • La suma de dígitos puede ser 2, 4, 6, 8 o 10.
    • Para cada suma, determinar el número de combinaciones posibles:
      • Suma 2: 1 opción (1 + 1)
      • Suma 4: 3 opciones (1 + 3, 2 + 2, 3 + 1)
      • Suma 6: 6 opciones (1 + 5, 2 + 4, 3 + 3, 4 + 2, 5 + 1, 6 + 0)
      • Suma 8: 10 opciones (1 + 7, 2 + 6, 3 + 5, 4 + 4, 5 + 3, 6 + 2, 7 + 1, 8 + 0)
      • Suma 10: 15 opciones (1 + 9, 2 + 8, 3 + 7, 4 + 6, 5 + 5, 6 + 4, 7 + 3, 8 + 2, 9 + 1, 10 + 0)
  4. Sumar el número de combinaciones para cada suma par:

    • Total de combinaciones: 1 + 3 + 6 + 10 + 15 = 35
  5. Restar las combinaciones no válidas:

    • Restar las combinaciones que comienzan con 0 (20 combinaciones)
    • Combinaciones válidas: 35 - 20 = 15

function countValidNumbers(digits) {
// Opciones para cada dígito
const hundreds = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const tens = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const units = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

// Combinaciones totales
const totalCombinations = hundreds.length * tens.length * units.length;

// Combinaciones válidas
const validCombinations = [];
for (let i = 0; i < hundreds.length; i++) {
    for (let j = 0; j < tens.length; j++) {
        for (let k = 0; k < units.length; k++) {
            const sum = hundreds[i] + tens[j] + units[k];
            if (sum % 2 === 0) {
                validCombinations.push([hundreds[i], tens[j], units[k]]);
            }
        }
    }
}

// Restar combinaciones no válidas
const invalidCombinations = validCombinations.filter(
    combination => combination[0] === 0
);
const finalCount = validCombinations.length - invalidCombinations.length;
console.log("Número de combinaciones válidas:", finalCount);

}
//Ejemplo de uso:
countValidNumbers(3);
// Imprime "Número de combinaciones válidas: 15"

Leave Resolviendo el reto /Solving Challenge to:

Written by

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

Read more #hive-188262 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+