56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
|
---
|
||
|
id: 5900f5091000cf542c51001b
|
||
|
challengeType: 5
|
||
|
title: 'Problem 408: Admissible paths through a grid'
|
||
|
videoUrl: ''
|
||
|
localeTitle: 'Problema 408: caminhos admissíveis através de uma grade'
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id="description"> Vamos chamar um ponto de malha (x, y) inadmissível se x, y e x + y forem todos quadrados perfeitos positivos. Por exemplo, (9, 16) é inadmissível, enquanto (0, 4), (3, 1) e (9, 4) não são. <p> Considere um caminho do ponto (x1, y1) para o ponto (x2, y2) usando apenas as etapas unitárias norte ou leste. Vamos chamar esse caminho admissível se nenhum dos seus pontos intermediários for inadmissível. </p><p> Seja P (n) o número de caminhos admissíveis de (0, 0) a (n, n). Pode-se verificar que P (5) = 252, P (16) = 596994440 e P (1000) mod 1 000 000 007 = 341920854. </p><p> Encontre P (10 000 000) mod 1 000 000 007. </p></section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id="instructions">
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: <code>euler408()</code> deve retornar 299742733.
|
||
|
testString: 'assert.strictEqual(euler408(), 299742733, "<code>euler408()</code> should return 299742733.");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function euler408() {
|
||
|
// Good luck!
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
euler408();
|
||
|
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
```js
|
||
|
// solution required
|
||
|
```
|
||
|
</section>
|