0 Compartilhamentos 203 Views 1 Comments

Como solucionar uma sequência Fibonacci usando JavaScript

28 de agosto de 2019

Fibonacci foi o mais importante matemático da Idade Média. Nascido na República de Pisa, no que hoje é a Itália, Leonardo Bonacci foi fundamental para popularizar os números hindu-arábicos na Europa no século XIII, embora seja mais famoso hoje em dia pela chamada “Sequência Fibonacci”.

Os livros e Hollywood ajudaram a dar um ar de mistério a um construto matemático que nada mais é que uma sequência de números que começa com zero e um e onde cada número posterior é a soma dos dois números anteriores. Desta forma, nós teríamos 0, 1, 1, 2, 3, 5, 8, 13, 21, 34… ou 0, 1, 1 (1+0), 2 (1+ 1), 3 (2+1), 5 (2+3), 8 (3+5), 13 (5+8), 21 (8+13), 34 (13 + 21) até o infinito. As aplicações matemáticas da Sequência Fibonacci são várias e fogem do escopo desse guia, mas o tema ganhou a atenção do grande público graças a obras de ficção e teorias de conspiração.

Entretanto, não há nada de enigmático nesses números recursivos e você pode obtê-los usando nada menos que seis linhas de código JavaScript. Com isso, é possível descobrir o número da posição de uma Sequência Fibonacci passando o valor de n. Para facilitar o entendimento, serão adicionados comentários, mas o que realmente faz a “mágica” da matemática acontecer são somente seis linhas.

Para entender como isso é possível, é importante perceber que esse desafio envolve fazer uma iteração pelo número de vezes indicados pelo valor de passado para a função. Entretanto, uma abordagem recursiva, em que a função é referenciada por si mesma, seria o caminho mais elegante para se tentar.

O que nós queremos: fibonacci(3) // –> precisa retornar o valor 2

Como isso pode ser feito:

const fibonacci = num => {
// se o valor passado é ou 0 ou 1, é preciso retornar o valor passado
if(num < 2) {
return num
}
// aqui entra a recursão propriamente dita
return fibonacci(num - 1) + fibonacci(num - 2)
}

Carregando...

Você pode se interessar

Promoções de Jogos do Final de Semana (07/08)
Notícias
4 visualizações
Notícias
4 visualizações

Promoções de Jogos do Final de Semana (07/08)

Carlos L. A. da Silva - 7 de agosto de 2020

Confira as melhores ofertas de jogos de PC para o final de semana.

Bloqueando robôs do seu site
Artigos
10 visualizações
Artigos
10 visualizações

Bloqueando robôs do seu site

Carlos L. A. da Silva - 6 de agosto de 2020

Nem todo robô que visita seu site é bonzinho como o do Google... aprenda a se defender!

Como encriptar seu dispositivo móvel
Dicas
16 visualizações
Dicas
16 visualizações

Como encriptar seu dispositivo móvel

Carlos L. A. da Silva - 4 de agosto de 2020

Privacidade nunca é demais e ela pode estar na palma da sua mão, sem dificuldades. Aprenda a encriptar dispositivos Android, iOS e até Windows Phone.

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

Promoções de Jogos do Final de Semana (31/07)
Notícias
22 visualizações
22 visualizações

Promoções de Jogos do Final de Semana (31/07)

Carlos L. A. da Silva - 31 de julho de 2020
Quem está lucrando com os aplicativos de entrega? Ninguém
Artigos
25 visualizações1
25 visualizações1

Quem está lucrando com os aplicativos de entrega? Ninguém

Carlos L. A. da Silva - 28 de julho de 2020
Como ditar um documento (Office, Google Docs, OpenOffice)
Dicas
23 visualizações
23 visualizações

Como ditar um documento (Office, Google Docs, OpenOffice)

Carlos L. A. da Silva - 27 de julho de 2020