2021-06-15 00:49:18 -07:00
---
id: 5900f4511000cf542c50ff63
2021-11-15 06:40:48 -08:00
title: 'Problem 228: Somas de Minkowski'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 301871
dashedName: problem-228-minkowski-sums
---
# --description--
2021-11-15 06:40:48 -08:00
Considere $S_n$ como o polígono – ou forma – regular de $n$ lados, cujos vértices $v_k (k = 1, 2, \ldots, n)$ têm as coordenadas:
2021-06-15 00:49:18 -07:00
2022-04-05 23:36:59 +05:30
$$\begin{align} & x_k = cos(\frac{2k - 1}{n} × 180°) \\\\
& y_k = sin(\frac{2k - 1}{n} × 180°) \end{align}$$
2021-06-15 00:49:18 -07:00
2021-11-15 06:40:48 -08:00
Cada $S_n$ deve ser interpretado como uma forma preenchida que consiste em todos os pontos no perímetro e no interior.
2021-06-15 00:49:18 -07:00
2021-11-15 06:40:48 -08:00
A soma de Minkowski, $S + T$, de duas formas $S$ e $T$ é o resultado de adicionar cada ponto em $S$ a cada ponto em $T$, onde a adição dos pontos é realizada através das coordenadas: $(u, v) + (x, y) = (u + x, v + y)$.
2021-06-15 00:49:18 -07:00
2021-11-15 06:40:48 -08:00
Por exemplo, a soma de $S_3$ e $S_4$ é a forma de seis lados mostrada em rosa abaixo:
2021-06-15 00:49:18 -07:00
2021-11-15 06:40:48 -08:00
< img class = "img-responsive center-block" alt = "imagem mostrando S_3, S_4 e S_3 + S_4" src = "https://cdn.freecodecamp.org/curriculum/project-euler/minkowski-sums.png" style = "background-color: white; padding: 10px;" / >
2021-06-15 00:49:18 -07:00
2021-11-15 06:40:48 -08:00
Quantos lados tem $S_{1864} + S_{1865} + \ldots + S_{1909}$?
2021-06-15 00:49:18 -07:00
# --hints--
2021-11-15 06:40:48 -08:00
`minkowskiSums()` deve retornar `86226` .
2021-06-15 00:49:18 -07:00
```js
2021-11-15 06:40:48 -08:00
assert.strictEqual(minkowskiSums(), 86226);
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2021-11-15 06:40:48 -08:00
function minkowskiSums() {
2021-06-15 00:49:18 -07:00
return true;
}
2021-11-15 06:40:48 -08:00
minkowskiSums();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```