2021-06-15 00:49:18 -07:00
---
id: 5900f4951000cf542c50ffa8
2021-11-18 14:52:12 -08:00
title: 'Problema 297: Representação de Zeckendorf'
2021-06-15 00:49:18 -07:00
challengeType: 5
forumTopicId: 301949
dashedName: problem-297-zeckendorf-representation
---
# --description--
2021-11-18 14:52:12 -08:00
Cada novo número na sequência de Fibonacci é gerado pela soma dos dois números anteriores.
2021-06-15 00:49:18 -07:00
2021-11-18 14:52:12 -08:00
Começando com 1 e 2, os primeiros 10 termos serão: 1, 2, 3, 5, 8, 13, 21, 34, 55 e 89.
2021-06-15 00:49:18 -07:00
2021-11-18 14:52:12 -08:00
Cada número inteiro positivo pode ser escrito exclusivamente como uma soma de termos não consecutivos da sequência de Fibonacci. Por exemplo, 100 = 3 + 8 + 89.
2021-06-15 00:49:18 -07:00
2021-11-18 14:52:12 -08:00
Tal soma se chama a representação de Zeckendorf do número.
2021-06-15 00:49:18 -07:00
2021-11-18 14:52:12 -08:00
Para qualquer número inteiro $n>0$, considere $z(n)$ como o número de termos na representação de Zeckendorf de $n$.
Assim, $z(5) = 1$, $z(14) = 2$, $z(100) = 3$ etc.
Além disso, para $0 < n < {10}^6$, $\sum z(n) = 7.894.453$.
Encontre $\sum z(n)$ para $0 < n < {10}^{17}$.
2021-06-15 00:49:18 -07:00
# --hints--
2021-11-18 14:52:12 -08:00
`zeckendorfRepresentation()` deve retornar `2252639041804718000` .
2021-06-15 00:49:18 -07:00
```js
2021-11-18 14:52:12 -08:00
assert.strictEqual(zeckendorfRepresentation(), 2252639041804718000);
2021-06-15 00:49:18 -07:00
```
# --seed--
## --seed-contents--
```js
2021-11-18 14:52:12 -08:00
function zeckendorfRepresentation() {
2021-06-15 00:49:18 -07:00
return true;
}
2021-11-18 14:52:12 -08:00
zeckendorfRepresentation();
2021-06-15 00:49:18 -07:00
```
# --solutions--
```js
// solution required
```