2021-06-15 00:49:18 -07:00
---
id: 5900f5241000cf542c510037
2022-03-04 19:46:29 +05:30
title: 'Problema 440: GCD e Tiling'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 302112
dashedName: problem-440-gcd-and-tiling
---
# --description--
2022-03-04 19:46:29 +05:30
Vogliamo ricoprire completamente una tavola di lunghezza $n$ e altezza 1, con blocchi 1 × 2 o 1 × 1 con una singola cifra decimale in alto:
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
< img class = "img-responsive center-block" alt = "dieci blocchi 1x1 con una cifra decimale in alto, e blocco 1x2" src = "https://cdn.freecodecamp.org/curriculum/project-euler/gcd-and-tiling-1.png" style = "background-color: white; padding: 10px;" / >
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
Per esempio, ecco alcuni dei modi per piastrellare una tavola di lunghezza $n = 8$:
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
< img class = "img-responsive center-block" alt = "esempi di modi per piastrellare una tavola di lunghezza n = 8" src = "https://cdn.freecodecamp.org/curriculum/project-euler/gcd-and-tiling-2.png" style = "background-color: white; padding: 10px;" / >
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
Sia $T(n)$ il numero di modi per piastrellare una tavola di lunghezza $n$ come descritto sopra.
2021-06-15 00:49:18 -07:00
2022-03-04 19:46:29 +05:30
Per esempio, $T(1) = 10$ e $T(2) = 101$.
Sia $S(L)$ la tripla somma $\sum_{a, b, c} gcd(T(c^a), T(c^b)$ per $1 ≤ a, b, c ≤ L$.
Per esempio:
2022-03-31 22:31:59 +05:30
$$\begin{align} & S(2) = 10\\,444 \\\\
& S(3) = 1\\,292\\,115\\,238\\,446\\,807\\,016\\,106\\,539\\,989 \\\\ & S(4)\bmod 987\\,898\\,789 = 670\\,616\\,280. \end{align}$$
2022-03-04 19:46:29 +05:30
Trova $S(2000)\bmod 987\\,898\\,789$.
2021-06-15 00:49:18 -07:00
# --hints--
2022-03-04 19:46:29 +05:30
`gcdAndTiling()` dovrebbe restituire `970746056` .
2021-06-15 00:49:18 -07:00
```js
2022-03-04 19:46:29 +05:30
assert.strictEqual(gcdAndTiling(), 970746056);
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2022-03-04 19:46:29 +05:30
function gcdAndTiling() {
2021-06-15 00:49:18 -07:00
return true;
}
2022-03-04 19:46:29 +05:30
gcdAndTiling();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```