0 Compartilhamentos 39 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

Sete dicas de Flutter para iniciantes
Notícias
11 visualizações
Notícias
11 visualizações

Sete dicas de Flutter para iniciantes

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

Começar a aprender é mais fácil do que você imagina e nós vamos te ajudar!

Promoções de Jogos do Final de Semana (24/01)
Notícias
15 visualizações
Notícias
15 visualizações

Promoções de Jogos do Final de Semana (24/01)

Carlos L. A. da Silva - 24 de janeiro de 2020

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

Como criar uma janela modal sem JavaScript
Dicas
28 visualizações
Dicas
28 visualizações

Como criar uma janela modal sem JavaScript

Carlos L. A. da Silva - 23 de janeiro de 2020

Basta usar CSS e ID da âncora para conseguir o mesmo resultado! Não acredita? Nós te ensinamos.

Mais publicações

50 anos de Unix e o Y2K38
Artigos
23 visualizações
23 visualizações

50 anos de Unix e o Y2K38

Carlos L. A. da Silva - 21 de janeiro de 2020
Promoções de Jogos do Final de Semana (17/01)
Notícias
19 visualizações
19 visualizações

Promoções de Jogos do Final de Semana (17/01)

Carlos L. A. da Silva - 17 de janeiro de 2020
Dez habilidades essenciais para desenvolvedores em 2020
Artigos
22 visualizações
22 visualizações

Dez habilidades essenciais para desenvolvedores em 2020

Carlos L. A. da Silva - 16 de janeiro de 2020
Promoções de Jogos do Final de Semana (10/01)
Notícias
27 visualizações
27 visualizações

Promoções de Jogos do Final de Semana (10/01)

Carlos L. A. da Silva - 10 de janeiro de 2020