2.2 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f4991000cf542c50ffab | 5 | Problem 301: Nim | Problema 301: Ele |
Description
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