freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-376-nontransitive-s...

2.3 KiB

id challengeType title videoUrl localeTitle
5900f4e51000cf542c50fff7 5 Problem 376: Nontransitive sets of dice Problema 376: juegos de dados no transitivos

Description

Considere el siguiente conjunto de dados con pips no estándar:

Die A: 1 4 4 4 4 4 Die B: 2 2 2 5 5 5 Die C: 3 3 3 3 3 6

Un juego es jugado por dos jugadores que toman un dado por turnos y lo hacen rodar. El jugador que saca el valor más alto gana.

Si el primer jugador elige el dado A y el segundo el jugador muere B, obtenemos P (el segundo jugador gana) = 7/12> 1/2

Si el primer jugador elige el dado B y el segundo el jugador muere C, obtenemos P (el segundo jugador gana) = 7/12> 1/2

Si el primer jugador elige el dado C y el segundo el jugador muere A, obtenemos P (el segundo jugador gana) = 25/36> 1/2

Entonces, cualquiera que sea el dado que el primer jugador elija, el segundo jugador puede elegir otro dado y tiene una probabilidad mayor de 50% de ganar. Un conjunto de dados que tiene esta propiedad se llama un conjunto de dados no transitivos.

Queremos investigar cuántos conjuntos de dados no transitivos existen. Asumiremos las siguientes condiciones: Hay tres dados de seis caras con cada lado que tiene entre 1 y N pips, inclusive. Los dados con el mismo conjunto de pips son iguales, independientemente del lado en el que se encuentren los pips. El mismo valor de pip puede aparecer en múltiples dados; si ambos jugadores lanzan el mismo valor, ninguno de los dos gana. Los conjuntos de dados {A, B, C}, {B, C, A} y {C, A, B} son el mismo conjunto.

Para N = 7 encontramos que hay 9780 tales conjuntos. ¿Cuántos hay para N = 30?

Instructions

Tests

tests:
  - text: <code>euler376()</code> debe devolver 973059630185670.
    testString: 'assert.strictEqual(euler376(), 973059630185670, "<code>euler376()</code> should return 973059630185670.");'

Challenge Seed

function euler376() {
  // Good luck!
  return true;
}

euler376();

Solution

// solution required