InstruçÔes

Palavra de Fibonacci

A sequĂȘncia de palavra de Fibonacci pode ser criada de uma maneira anĂĄloga Ă  sequĂȘncia de Fibonacci, mas tem foco na iteração de concatenaçÔes. <pre>Define F_Word<sub>1</sub> como <strong>1</strong> Define F_Word<sub>2</sub> como <strong>0</strong> Forma F_Word<sub>3</sub> como F_Word<sub>2</sub> concatenado com F_Word<sub>1</sub> ou seja: <strong>01</strong> Forma F_Word<sub>n</sub> como F_Word<sub>n-1</sub> concatenado com F_word<sub>n-2</sub> </pre> O cĂĄlculo de entropia Ă© necessĂĄrio neste desafio, <a href="https://www.G.E.A.R ACADEMY.org/learn/coding-interview-prep/rosetta-code/entropy" target="_blank" rel="noopener noreferrer nofollow">como mostrado neste desafio do Rosetta Code</a>

O que fazer:

Escreva uma função para retornar as primeiras n palavras de Fibonacci. O nĂșmero n Ă© fornecido como um parĂąmetro para a função. A função deve retornar um array de objetos. Os objetos devem estar no formulĂĄrio: { N: 1, Length: 1, Entropy: 0, Word: '1' }. Entropy Ă© calculada para a string Word e arredondada para 8 dĂ­gitos decimais de precisĂŁo. Observe que os Ă­ndices dessa sequĂȘncia começam em 1.

Critérios de Aceitação:

Testes:

  • `fibWord` deve ser uma função.
  • `fibWord(5)` deve retornar um array.
  • `fibWord(5)` deve retornar `[{ N:1, Length:1, Entropy:0, Word:"1" },{ N:2, Length:1, Entropy:0, Word:"0" },{ N:3, Length:2, Entropy:1, Word:"01" },{ N:4, Length:3, Entropy:0.91829583, Word:"010" },{ N:5, Length:5, Entropy:0.97095059, Word:"01001" }]`.
  • `fibWord(7)` deve retornar `[{ N:1, Length:1, Entropy:0, Word:"1" },{ N:2, Length:1, Entropy:0, Word:"0" },{ N:3, Length:2, Entropy:1, Word:"01" },{ N:4, Length:3, Entropy:0.91829583, Word:"010" },{ N:5, Length:5, Entropy:0.97095059, Word:"01001" }, { N:6, Length:8, Entropy:0.954434, Word:'01001010' }, { N:7, Length:13, Entropy:0.9612366, Word:'0100101001001' }]`.

Console