freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-301-nim.portuguese.md

2.2 KiB

id challengeType title videoUrl localeTitle
5900f4991000cf542c50ffab 5 Problem 301: Nim Problema 301: Ele

Description

Nim é um jogo jogado com montes de pedras, onde dois jogadores, por sua vez, removem qualquer quantidade de pedras de qualquer pilha até que não restem pedras.

Consideraremos a versão normal de três heap do Nim, que funciona da seguinte maneira:

  • No início do jogo, há três montes de pedras.

  • Por sua vez, o jogador remove qualquer número positivo de pedras de uma única pilha.

  • O primeiro jogador incapaz de se mover (porque nenhuma pedra permanece) perde.

    Se (n1, n2, n3) indicar uma posição Nim consistindo de montes de tamanho n1, n2 e n3, então há uma função simples X (n1, n2, n3) - que você pode procurar ou tentar deduzir por si mesmo - que retorna: zero se, com estratégia perfeita, o jogador prestes a se mover perderá; ou não-zero se, com estratégia perfeita, o jogador prestes a se mover eventualmente vencer.Por exemplo, X (1,2,3) = 0 porque, não importa o que o jogador atual faça, seu oponente pode responder com um movimento que sai dois montes de tamanho igual, ponto em que cada movimento do jogador atual pode ser espelhado pelo oponente até que não restem pedras; então o jogador atual perde. Ilustrar:

  • jogador atual move-se para (1,2,1)

  • oponente se move para (1,0,1)

  • jogador atual move-se para (0,0,1)

  • oponente se move para (0,0,0), e assim ganha.

Para quantos inteiros positivos n ≤ 230 X (n, 2n, 3n) = 0?

Instructions

Tests

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

Challenge Seed

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

euler301();

Solution

// solution required