Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Schneider

algoritmo que escreva a série de Fibonacci

Recommended Posts

Faça um algoritmo que escreva a série de Fibonacci, de forma que o limite máximo seja informado pelo usuário. A série começa sempre com 0 e 1, e então produz-se o próximo número somando os dois anteriores para formar o próximo. Considere que para 0 e 1, os valores são 1. Assim a série é dada por:
1,1,2, 3, 5, 8, 13, 21, 34, 55, 89 ...

 

precisava de uma força com esse algoritmo, codigo em c++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste suas duvidas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  1. Você deve escolher o melhor tipo de dados para a função. Recomendo: unsigned long long int.
  2. Pesquise sobre o calculo da sequencia. Neste caso chamando de an o n-ésimo termo da sequencia temos que: a0 = 0, a1=1, a2 = 1, an = an-1 + an-2, para n maior que 2. Tendo isto em mente, vamos traduzir para a linguagem C.

 

// Utilizando macro, para o código ficar mais legivel.
#define TYPE    unsigned long long int
TYPE
lfibonacci (TYPE lim)
{
    /* Definindo as variaveis:
       l - Termo anterior
       t - Termo atual
       a - Variavel auxiliar
    */ 
    TYPE l = 0, t = 1, a;

    /* Laço
       Usando o termo atual na comparação, isto
       porque se for maior, a variavel l terá o
       valor dentro do limite.
    */
    while(t < lim)
    {
        /*
           Usando a variavel auxiliar para
           armazenar o valor do termo atual.
        */
        a = t;
        // Calculando o valor do proximo termo.
        t = l + t;
        // O valor de a é o valor do termo anterior
        l = a;
    }
    
    return l;
}
#undef TYPE

 

 

Este é o código mais simples, espero que ninguém se importe, por ter dado a resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<iostream>

 

 

using namespace std;

 

 

int main(){

 

 

 

int a,b,c,quantidade;

 

 

cin>>quantidade;

 

 

a=0;

b=1;

 

 

for(int i=0;i<quantidade;i++){

 

 

 

c=a+b;

 

 

cout<<c<<"\t";

 

 

a=b;

b=c;

 

 

 

 

}

 

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.