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

2.2 KiB

id challengeType title videoUrl localeTitle
5900f4e51000cf542c50fff7 5 Problem 376: Nontransitive sets of dice Problema 376: Conjuntos Não-Transversais de Dados

Description

Considere o seguinte conjunto de dados com pips fora do padrão:

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

Um jogo é jogado por dois jogadores pegando um dado e rolando. O jogador que rola o maior valor ganha.

Se o primeiro jogador escolher o dado A e o segundo escolher o dado B, obtemos P (o segundo jogador ganha) = 7/12> 1/2

Se o primeiro jogador escolher o dado B e o segundo escolher o dado C, ganhamos P (o segundo jogador ganha) = 7/12> 1/2

Se o primeiro jogador escolher o dado C e o segundo escolher o dado A, obtemos P (o segundo jogador ganha) = 25/36> 1/2

Então, qualquer que seja a morte do primeiro jogador, o segundo jogador pode escolher outro dado e ter mais de 50% de chance de ganhar. Um conjunto de dados com essa propriedade é chamado de um conjunto de dados não-transitório.

Queremos investigar quantos conjuntos de dados não-transitivos existem. Vamos assumir as seguintes condições: Existem três dados de seis lados com cada lado tendo entre 1 e N pips, inclusive. Dados com o mesmo conjunto de pips são iguais, independentemente de qual lado do dado os pips estão localizados. O mesmo valor de pip pode aparecer em vários dados; se ambos os jogadores jogarem o mesmo valor, nenhum jogador ganha. Os conjuntos de dados {A, B, C}, {B, C, A} e {C, A, B} são o mesmo conjunto.

Para N = 7, encontramos 9780 desses conjuntos. Quantos há por N = 30?

Instructions

Tests

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

Challenge Seed

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

euler376();

Solution

// solution required