49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
---
|
|
id: 5900f4a61000cf542c50ffb8
|
|
title: 'Problema 313: Jogo de deslizar'
|
|
challengeType: 5
|
|
forumTopicId: 301969
|
|
dashedName: problem-313-sliding-game
|
|
---
|
|
|
|
# --description--
|
|
|
|
Em um jogo de deslizar, um contador pode deslizar horizontalmente ou verticalmente para um espaço vazio. O objetivo do jogo é mover o contador vermelho do canto superior esquerdo de uma grade para o canto inferior direito; o espaço sempre começa no canto inferior direito. Por exemplo, a sequência de imagens a seguir mostra como o jogo pode ser concluído em cinco movimentos em uma grade de 2 em 2.
|
|
|
|
<img class="img-responsive center-block" alt="completando o jogo em cinco movimentos na grade 2x2" src="https://cdn.freecodecamp.org/curriculum/project-euler/sliding-game-1.gif" style="background-color: white; padding: 10px;" />
|
|
|
|
Considere $S(m, n)$ como representante do número mínimo de movimentos para completar o jogo em uma grade de $m$ por $n$. Por exemplo, pode-se verificar que $S(5, 4) = 25$.
|
|
|
|
<img class="img-responsive center-block" alt="estado inicial da grade e estado final da grade para um jogo na grade 5x4" src="https://cdn.freecodecamp.org/curriculum/project-euler/sliding-game-2.gif" style="background-color: white; padding: 10px;" />
|
|
|
|
Há exatamente 5482 grades quadriculadas, para as quais $S(m, n) = p^2$, em que $p < 100$ é um número primo.
|
|
|
|
Em quantas grades $S(m, n) = p^2$, onde $p < {10}^6$ é um número primo?
|
|
|
|
# --hints--
|
|
|
|
`slidingGame()` deve retornar `2057774861813004`.
|
|
|
|
```js
|
|
assert.strictEqual(slidingGame(), 2057774861813004);
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```js
|
|
function slidingGame() {
|
|
|
|
return true;
|
|
}
|
|
|
|
slidingGame();
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
// solution required
|
|
```
|