C/C++

Sequência de Fibonacci – Algoritmo C/C++

Lucas
6 de setembro de 2011
2 min de leitura
Sequência de Fibonacci – Algoritmo C/C++

A sequência de Fibonacci é dada pela seguinte ordem [latex] Fibonacci = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 . . .[/latex]. O algoritmo para o cálculo do enésimo elemento é dado por: [latex] N = N – 1 + N – 2 [/latex], ou seja, o enésimo elemento é igual à soma dos dois dois elementos anteriores a ele, por exemplo:

Dada a sequência de Fibonnaci [latex] 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. . .[/latex] calcule o 3º elemento da sequência:

Sempre levamos em consideração o valor dos dois primeiros termos, tais que [latex]X = 0[/latex] (primeiro elemento) e [latex]Z = 1[/latex]. Então o terceiro elemento da sequência será igual à soma dos dois elementos anteriores, nesse caso [latex] N = X + Z [/latex], [latex]N = 0 + 1 [/latex], [latex]N = 1[/latex].

Progrma em linguagem C que calcula o enésimo termo da sequência de Fibonacci:

#include 

long int fibonacci(int n);
void main()
{
//Sequencia fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55..
    int n;
    printf ("Escolha a posicao: ");
    scanf("%d", &n);
    printf("Posicao %d da sequencia de fibonnaci: %d", n, fibonacci(n));
}

long fibonacci(int n)
{
    int cont;
    long int x = 0, z = 1;
    
    if(n % 2 == 0)
    {
        for(cont = 2; cont != n; cont = cont + 2)
        {
            x = x + z;
            z = x + z;
        }
        return z;
    }
    else
    {
        for(cont = 1; cont != n; cont = cont + 2)
        {
            x = x + z;
            z = x + z;
        }
            return x;
    }
}

Precisa de Hospedagem ou Servidores?

Conheça nossas soluções em VPS, servidores dedicados e hospedagem profissional

Artigos Relacionados