A sequência de Fibonacci em Python

Aprenda a escrever programas envolvendo a Seqüência de Fibonacci!

A Sequência de Fibonacci aparece e se apresenta de várias maneiras em matemática e ciência da computação / programação. Este artigo tem como objetivo descrever várias maneiras de ver Fibonacci aparecer e como usar Python para descobrir vários aspectos da sequência.

O que é a sequência de Fibonacci?

A Sequência de Fibonacci é uma sequência de números naturais, começando com 1. É assim:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ....

Este é um ponto importante, porque usando isso você pode calcular recursivamente muitos valores da Sequência de Fibonacci. Vamos dar uma olhada no que podemos fazer!

A sequência de Fibonacci é uma sequência de número natural começando com 1, 1e o enésimo número de Fibonacci é a soma dos dois termos anteriores.

Termos Geradores da Sequência de Fibonacci

Vamos primeiro dar uma olhada em como podemos gerar termos de Fibonacci de forma eficiente. A maneira mais fácil é usar uma lista vazia e um loop for para gerar os termos.

Primeiro, vamos definir nossas variáveis. Definimos ae bpara ser os dois primeiros termos na sequência, e inicializamos uma lista (com os dois primeiros termos, 1, 1já dentro dela) nomeada series.

Agora codificamos nosso forloop. Queremos que ele rode em loop, gerando ntermos da sequência de Fibonacci. Para os fins deste exemplo, definimos n = 20.

O que fiz aqui foi configurar um loop for range(2, n). Como né igual a 20 neste exemplo, o loop for faz um loop para cada x no intervalo [2, n ]. Recuado dentro do loop está nossa definição da sequência de Fibonacci: que cada termo é a soma dos 2 termos que o precedem. Finalmente, o loop acrescenta esse termo à lista series.

A impressão seriesdá exatamente o que queremos:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]

Podemos encontrar o enésimo termo usando o código que criamos na seção anterior. Digamos que queremos encontrar o iésimo termo (estou usando i aqui porque n já é uma variável). Para este exemplo, digamos que queremos encontrar o termo 200.034 da sequência de Fibonacci.

Simplesmente adicionei outra variável i, e substituí print(series)por print(series[i - 1]). Aqui está o resultado:

192373285415866760557173433121516375224056333183434393978124354879532171146744121900663998692213158072140530482128152339686087292623251900269329431030759110518214979329456400212272402706074377403263085149104405417566753948669711296429582649835058544457983707589484754554876558078026664214361845487674198261493554551752199998272364859229929664626978362056289296383617431515020113224233955551537148621593421931721823689908385768027872232929533372485.............................

Encontrando a Soma dos Termos

Agora, vamos dar um passo adiante e tentar encontrar a soma dos termos da sequência de Fibonacci até o termo n. Começamos com o código original como sempre:

Agora, só precisamos codificar outro loop for para encontrar a soma de todos os termos da lista series. Para este exemplo, deixamos n = 300: a soma dos primeiros 300 números de Fibonacci. Isso deve ser fácil:

Nós simplesmente dissemos que, para cada termo na lista series, defina sum igual à soma cumulativa existente mais aquele termo. Quando executamos este código, obtemos o resultado esperado:

581811569836004006491505558634099066259034153405766997246569400

Agora que cobri todos os fundamentos da sequência de Fibonacci, deixe-me deixá-los com algumas perguntas para pensar:

  • Tente encontrar a soma de todos os termos ímpares até n = 1000.
  • Tente encontrar a soma de todos os termos pares até n = 1000.
  • Tente criar uma ferramenta Python para Fibonacci: permitindo que o usuário insira seus próprios números

Suggested posts

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

Como executar plugins ChatGPT gratuitamente usando Langchain

Como executar plugins ChatGPT gratuitamente usando Langchain

Você deve ter ouvido falar sobre todos os novos plug-ins poderosos do ChatGPT, como navegador, intérprete de código, etc. Mas há um problema, o acesso aos plug-ins é limitado a uma lista de espera e, portanto, muitos não têm acesso a ela.

Related posts

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

Coletando OSINT para caçar ameaças

Coletando OSINT para caçar ameaças

Olá, entusiastas cibernéticos! Bem-vindo de volta ao OSINT para a série de caça a ameaças. No primeiro artigo, apresentei uma visão geral do OSINT e sua importância na caça às ameaças.

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.

3 maneiras comprovadas de melhorar sua habilidade de escrita

Os benefícios de escrever e estratégias para ajudá-lo a fazê-lo

3 maneiras comprovadas de melhorar sua habilidade de escrita

Em 2022, com o lançamento do GPT-3, a habilidade de escrita parece se tornar menos importante. Com a IA, pessoas com redação ruim também podem gerar funcionários de qualidade.