freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/rosetta-code/zeckendorf-number-represent...

2.2 KiB

title id challengeType videoUrl localeTitle
Zeckendorf number representation 594810f028c0303b75339ad6 5 Representación de número de pueblo

Description

Del mismo modo que los números se pueden representar en una notación posicional como sumas de múltiplos de las potencias de diez (decimal) o dos (binario); todos los enteros positivos se pueden representar como la suma de uno o cero veces los miembros distintos de la serie de Fibonacci.

Recuerde que los primeros seis números distintos de Fibonacci son: 1, 2, 3, 5, 8, 13 . El número decimal once se puede escribir como 0*13 + 1*8 + 0*5 + 1*3 + 0*2 + 0*1 o 010100 en notación posicional donde las columnas representan la multiplicación por un miembro particular de la secuencia. Los ceros iniciales se eliminan para que el decimal 11 se convierta en 10100 .

10100 no es la única forma de hacer 11 a partir de los números de Fibonacci; sin embargo, 0*13 + 1*8 + 0*5 + 0*3 + 1*2 + 1*1 o 010011 también representaría el decimal 11. Para un verdadero número de Zeckendorf existe la restricción añadida de que "no se pueden usar dos números de Fibonacci consecutivos", lo que lleva a la solución única anterior.

Tarea: escriba una función que genere y devuelva una matriz de los primeros N números de Zeckendorf en orden.

Instructions

Tests

tests:
  - text: zeckendorf debe ser función
    testString: 'assert.equal(typeof zeckendorf, "function", "zeckendorf must be function");'
  - text: Tu función <code>zeckendorf</code> debería devolver la respuesta correcta
    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