Categorias

Como solucionar uma sequência Fibonacci usando JavaScript

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