2.2 KiB
title | id | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
Zeckendorf number representation | 594810f028c0303b75339ad6 | 5 | Assinale a representação do número da aldeia |
Description
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.
Instructions
Tests
tests:
- text: zeckendorf deve ser função
testString: 'assert.equal(typeof zeckendorf, "function", "zeckendorf must be function");'
- text: Sua função <code>zeckendorf</code> deve retornar a resposta correta
testString: 'assert.deepEqual(answer, solution20, "Your <code>zeckendorf</code> function should return the correct answer");'
Challenge Seed
function zeckendorf(n) {
// good luck!
}
After Test
console.info('after the test');
Solution
// solution required