Série de Fibonacci usando recursividade em linguagem C

Publicado por Perfil removido em 06/07/2007

[ Hits: 124.086 ]

 


Série de Fibonacci usando recursividade em linguagem C



Muitos iniciantes têm problemas com esse tipo de algoritmo. Entender a função recursiva quando se está iniciando em programação realmente não é fácil, por isso apresento essa dica acompanhada de um código exemplo para quem sabe ajudar com dificuldades ou dúvida sobre esse tipo de algoritmo.

A série de Fibonacci é muito explorada no início do aprendizado em qualquer linguagem de programação, escolhi a linguagem C para exemplificar, veja o código abaixo:

#include <stdio.h>
#include <conio.h>

main()
{
   int n,i;
   printf("Digite a quantidade de termos da sequência de Fibonacci: ");
   scanf("%d", &n);
   printf("\nA sequência de Fibonacci e: \n");
   for(i=0; i<n; i++)
       printf("%d ", fibonacci(i+1));
   getch();
}

int fibonacci(int num)
{
   if(num==1 || num==2)
       return 1;
   else
       return fibonacci(num-1) + fibonacci(num-2);
}

O laço for contido na função principal main, chama a função fibonacci que calcula os valores retornando o valor 1 quando a posição da sequência for igual a 1 ou 2, e posteriormente calcula o restante dos números sempre somando as duas posições anteriores para obter o resultado atual.

Obrigado!

Bom estudo!

Outras dicas deste autor

Como descompactar arquivos tar.xz no Ubuntu/Debian e derivados

Conheça o KInstaller

OpenOffice.org x Microsoft Office 2007

Instalando o sysinfo no Mandriva One e superior

Como copiar arquivos Flash

Leitura recomendada

Error: C compiler cannot create executables (solucionado)

Compilando no Code::Blocks

Site para quem está iniciando em C

Mais um curso de linguagem C

stty: alternativa para echo e noecho

  

Comentários
[1] Comentário enviado por leandrorocker em 06/07/2007 - 16:28h

conio.h?

ahá, programou no windows hein haha
abraço

[2] Comentário enviado por jessicacarneiro em 10/10/2011 - 11:22h

nossa, é tão simples :\ e eu fiquei tentando fazer isso por um século.

[3] Comentário enviado por marcos@marcos em 21/08/2012 - 09:51h

Então é necessário fazer um laço e a cada iteração fazer a chamada a função passando como parametro o valor da variável de controle incrementada em 1?




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts