2021-06-15 00:49:18 -07:00
|
|
|
---
|
|
|
|
id: 5900f4911000cf542c50ffa3
|
2021-11-18 14:52:12 -08:00
|
|
|
title: 'Problema 292: Polígonos de Pitágoras'
|
2021-06-15 00:49:18 -07:00
|
|
|
challengeType: 5
|
|
|
|
forumTopicId: 301944
|
|
|
|
dashedName: problem-292-pythagorean-polygons
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
Definiremos um polígono pitagórico como ser um polígono convexo com as seguintes propriedades:
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
- existem pelo menos três vértices,
|
|
|
|
- não há três vértices alinhados,
|
|
|
|
- cada vértice tem coordenadas inteiras,
|
|
|
|
- cada aresta tem comprimento inteiro.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
Para um número inteiro determinado $n$, defina $P(n)$ como o número de polígonos pitagóricos distintos para os quais o perímetro é $≤ n$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
Os polígonos pitagóricos devem ser considerados distintos, desde que um não seja uma tradução de outro.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
Você é informado de que $P(4) = 1$, $P(30) = 3655$ e $P(60) = 891045$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
Encontre $P(120)$.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
`pythagoreanPolygons()` deve retornar `3600060866`.
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
```js
|
2021-11-18 14:52:12 -08:00
|
|
|
assert.strictEqual(pythagoreanPolygons(), 3600060866);
|
2021-06-15 00:49:18 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
2021-11-18 14:52:12 -08:00
|
|
|
function pythagoreanPolygons() {
|
2021-06-15 00:49:18 -07:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2021-11-18 14:52:12 -08:00
|
|
|
pythagoreanPolygons();
|
2021-06-15 00:49:18 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|