53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
---
|
|
id: 5900f5021000cf542c510014
|
|
title: 'Problema 405: Colocação retangular de ladrilhos'
|
|
challengeType: 5
|
|
forumTopicId: 302073
|
|
dashedName: problem-405-a-rectangular-tiling
|
|
---
|
|
|
|
# --description--
|
|
|
|
Queremos preencher com ladrilhos um retângulo cujo comprimento é o dobro de sua largura.
|
|
|
|
Considere $T(0)$ como a área a ser ladrilhada, consistindo em um único retângulo.
|
|
|
|
Para $n > 0$, considere $T(n)$ como tendo sido obtido a partir de $T( n- 1)$ substituindo todos os ladrilhos da seguinte maneira:
|
|
|
|
<img class="img-responsive center-block" alt="obtendo T(n) a partir de T(n - 1)" src="https://cdn.freecodecamp.org/curriculum/project-euler/a-rectangular-tiling-1.png" style="background-color: white; padding: 10px;" />
|
|
|
|
A animação a seguir demonstra o preenchimento com ladrilhos de $T(n)$ para $n$ de 0 a 5:
|
|
|
|
<img class="img-responsive center-block" alt="animação do ladrilhamento de T(n) para n de 0 a 5" src="https://cdn.freecodecamp.org/curriculum/project-euler/a-rectangular-tiling-2.gif" style="background-color: white; padding: 10px;" />
|
|
|
|
Considere $f(n)$ como o número de pontos em que quatro ladrilhos se encontram em $T(n)$. Por exemplo, $f(1) = 0$, $f(4) = 82$ e $f({10}^9)\bmod {17}^7 = 126.897.180$.
|
|
|
|
Encontre $f({10}^k)$ para $k = {10}^{18}$ e dê sua resposta modulo ${17}^7$.
|
|
|
|
# --hints--
|
|
|
|
`rectangularTiling()` deve retornar `237696125`.
|
|
|
|
```js
|
|
assert.strictEqual(rectangularTiling(), 237696125);
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```js
|
|
function rectangularTiling() {
|
|
|
|
return true;
|
|
}
|
|
|
|
rectangularTiling();
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
// solution required
|
|
```
|