Assim como os números podem ser representados em uma notação posicional como somas de múltiplos dos poderes de dez (decimal) ou dois (binário); todos os inteiros positivos podem ser representados como a soma de um ou zero vezes os membros distintos da série de Fibonacci.
Lembre-se de que os primeiros seis números distintos de Fibonacci são: 1, 2, 3, 5, 8, 13
. O número decimal onze pode ser escrito como 0*13 + 1*8 + 0*5 + 1*3 + 0*2 + 0*1
ou 010100
na notação posicional, onde as colunas representam a multiplicação por um membro particular da sequência. Zeros à esquerda são descartados de modo que 11 decimal se torna 10100
.
10100 não é a única maneira de fazer 11 dos números de Fibonacci, no entanto 0*13 + 1*8 + 0*5 + 0*3 + 1*2 + 1*1
ou 010011 também representaria decimal 11. Para um número Zeckendorf verdadeiro existe a restrição adicional de que "não podem ser usados dois números consecutivos de Fibonacci", o que leva à antiga solução única.
Tarefa: Escreva uma função que gere e retorne uma matriz dos primeiros números do N Zeckendorf em ordem.
zeckendorf
deve retornar a resposta correta
testString: 'assert.deepEqual(answer, solution20, "Your zeckendorf
function should return the correct answer");'
```