2021-06-15 00:49:18 -07:00
---
id: 5900f4761000cf542c50ff88
2021-11-17 03:53:39 -08:00
title: 'Problema 265: Círculos binários'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 301914
dashedName: problem-265-binary-circles
---
# --description--
2021-11-17 03:53:39 -08:00
Os algarismos binários $2^N$ podem ser colocados em um círculo de modo que todas as subsequências de $N$ algarismos no sentido horário sejam distintas.
2021-06-15 00:49:18 -07:00
2021-11-17 03:53:39 -08:00
Para $N = 3$, dois arranjos circulares são possíveis, ignorando rotações:
2021-06-15 00:49:18 -07:00
2021-11-17 03:53:39 -08:00
< img class = "img-responsive center-block" alt = "dois arranjos circulares para N = 3" src = "https://cdn.freecodecamp.org/curriculum/project-euler/binary-circles.gif" style = "background-color: white; padding: 10px;" / >
2021-06-15 00:49:18 -07:00
2021-11-17 03:53:39 -08:00
Para o primeiro arranjo, as subsequências de 3 algarismos, no sentido horário, são: 000, 001, 010, 101, 011, 111, 110 e 100.
2021-06-15 00:49:18 -07:00
2021-11-17 03:53:39 -08:00
Cada arranjo circular pode ser codificado como um número, concatenando os algarismos binários, começando com a subsequência de todos os zeros, como os bits mais significativos e prosseguindo no sentido horário. Os dois arranjos para $N = 3$ são, portanto, representados como 23 e 29:
2021-06-15 00:49:18 -07:00
2021-11-17 03:53:39 -08:00
$${00010111}_2 = 23\\\\
{00011101}_2 = 29$$
Chamando $S(N)$ de soma das representações numéricas únicas, podemos ver que $S(3) = 23 + 29 = 52$.
Encontre $S(5)$.
2021-06-15 00:49:18 -07:00
# --hints--
2021-11-17 03:53:39 -08:00
`binaryCircles()` deve retornar `209110240768` .
2021-06-15 00:49:18 -07:00
```js
2021-11-17 03:53:39 -08:00
assert.strictEqual(binaryCircles(), 209110240768);
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2021-11-17 03:53:39 -08:00
function binaryCircles() {
2021-06-15 00:49:18 -07:00
return true;
}
2021-11-17 03:53:39 -08:00
binaryCircles();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```