Série de Fibonacci usando recursividade em linguagem C

Publicado por Perfil removido em 06/07/2007

[ Hits: 121.370 ]

 


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

Verificando o nível de tinta de sua impressora com QInk

Bloqueando alteração de papel de parede

Modelos no BrOffice.org Writer

Comprimindo seu DVD no Linux com o "dvd95"

cat como um editor de texto simples

Leitura recomendada

Fazendo comparações sem o uso de IF, ELSE em C

Programação para Arduino

Ocorrência de uma string em outra

Gerando números aleatórios em C

Limpando a "sujeirinha" no buffer do teclado

  

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

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts