Cómo evitar la repetición de 3 tuplas que sumen 15 en Javascript

  • Autor Autor NHHFF22
  • Fecha de inicio Fecha de inicio

NHHFF22

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Hola!

Tengo un código que hacer, y no entiendo bien como representarlo el ejercicio concreto sería este:

Crea un programa en JavaScript en el que se muestren todos las 3 tuplas de números entre 1 y 9 (ambos incluidos) y diferentes que sumen 15. Es decir, todas las 3-uplas (a, b, c) donde a+b+c=15 y a!=b, a!=c, b!=c.

Me gustaría saber como podría hacer que esas sumas no se repitieran es decir que si tengo (4+9+2) no pueda repetir nuevamente (2+4+9). No sé si me he explicado correctamente, pero mi duda es esa respecto al formular el código si alguien me pudiese ayudar, muchísimas gracias de ante mano!
 
Problemas de lógica. Puedes crear una función que elimine los duplicados. O en todo caso hacer combinaciones únicas y probar la suma.
 
Puedes usar un validador, comparas tus numeros en forma normal y al revez con los que ya guardaste y si no hay problema guardas la nueva serie. Es lo mas rapido que se me ocurre.
 
No es tan difícil, solo tienes que irte deshaciendo de los duplicados en la medida que vas iterando. Algo así como una jerarquía donde el bucle superior va empujando a los bucles inferiores...

Te dejo un ejemplo, a ver si lo captas:

JavaScript:
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a.forEach(i => {
    b = a.slice(i)
    c = a.slice(i + 1)
    b.forEach(j => {
        c.forEach(k => {
            if (i + j + k == 15){
                console.log(`${i} + ${j} + ${k} = ${i + j + k}`)
            }
        })
        c.shift()
    })
})
 
Mil gracias por ayudarme, ya lo he entendido. Y disculpad, llevo menos de un mes aprendiendo JavaScript y aún estoy muy verde. Espero progresar y ir mejorando poco a poco.
 
Mil gracias por ayudarme, ya lo he entendido. Y disculpad, llevo menos de un mes aprendiendo JavaScript y aún estoy muy verde. Espero progresar y ir mejorando poco a poco.
No hace falta disculparse, solo sigue aprendiendo todos los días un poquito más. Javascript es un lenguaje muy rico, que admite muchísimos estilos diferentes de programación. Y cualquier otra duda que no logres resolver con YT o con Google, pásate por aquí que en algo te ayudamos 😉
 
Que buen rollo. Así debería ser siempre. Uk saludo.
 
No es fácil, veo dos métodos (forEach, slice) No recuerdo que me enseñaran ejercicios así. Es mejor aprender con ejemplos pequeños observando todas las variables... Esto tiene nivel:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a.forEach(i => {
b = a.slice(i)
c = a.slice(i + 1)
b.forEach(j => {
c.forEach(k => {
if (i + j + k == 15){
console.log(`${i} + ${j} + ${k} = ${i + j + k}`)
}
})
c.shift()
})
})