Série de Fibonacci usando recursividade em linguagem C

Publicado por Perfil removido em 06/07/2007

[ Hits: 134.228 ]

 


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

[Esclarecimento] Multiseat não é Multiterminal

O poder do Joomla

Atom - O editor deste e do próximo milênio!

Criando e utilizando um catálogo de e-mails no Claws

Grafix - Análise técnica no GNU/Linux

Leitura recomendada

Kylix - Ferramenta para programadores Delphi

Compilando no Code::Blocks

Switch em C, e se a opção for inválida?

Mais uma dica de curso de C e C++

Error: C compiler cannot create executables (solucionado)

  

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 removido 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 [email protected] 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