0 Compartilhamentos 13 Views

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)
}

Você pode se interessar

Como bloquear trolls no Twitter em larga escala
Dicas
9 visualizações
Dicas
9 visualizações

Como bloquear trolls no Twitter em larga escala

Carlos L. A. da Silva - 4 de dezembro de 2019

Ninguém está livre de cair na mira de uma horda virtual e saber se defender é fundamental.

Conheça a diferença entre Inteligência Artificial, Aprendizado de Máquina e Aprendizado Profundo
Artigos
11 visualizações
Artigos
11 visualizações

Conheça a diferença entre Inteligência Artificial, Aprendizado de Máquina e Aprendizado Profundo

Carlos L. A. da Silva - 30 de novembro de 2019

Na linguagem coloquial, esses termos até se confundem mas, tecnicamente, não são a mesma coisa.

Promoções de Jogos do Final de Semana (29/11) – Edição da Black Friday
Notícias
19 visualizações
Notícias
19 visualizações

Promoções de Jogos do Final de Semana (29/11) – Edição da Black Friday

Carlos L. A. da Silva - 29 de novembro de 2019

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

Mais publicações

Como aproveitar ao máximo a Área de Transferência do Windows 10
Dicas
18 visualizações
18 visualizações

Como aproveitar ao máximo a Área de Transferência do Windows 10

Carlos L. A. da Silva - 28 de novembro de 2019
Tudo que você precisa saber sobre o USB4
Artigos
45 visualizações
45 visualizações

Tudo que você precisa saber sobre o USB4

Carlos L. A. da Silva - 25 de novembro de 2019
Promoções de Jogos do Final de Semana (22/11)
Notícias
19 visualizações
19 visualizações

Promoções de Jogos do Final de Semana (22/11)

Carlos L. A. da Silva - 22 de novembro de 2019
Programadora Youtuber cria jogo online e ensina como foi feito
Notícias
2 compartilhamentos29 visualizações
2 compartilhamentos29 visualizações