Série de Fibonacci usando recursividade em linguagem C

Publicado por Perfil removido em 06/07/2007

[ Hits: 145.131 ]

 


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

CentOS 6.x - Instalação do VirtualBox + VirtualBox Extension Pack

Instalando o balenaEtcher no Debian 11 Bullseye

Criando temas para o Grub

Vídeo aula: Trabalhando com o Quanta Plus

Instalando driver da nVIDIA no Gentoo 2005.1

Leitura recomendada

Classes para vários tipos (templates)

Conversão vetor de caracteres para double

Corrigindo o erro: C compiler cannot create executables

Instalação do editor xwpe - Debian

Qt - Adicionando uma foto em Label (QLabel)

  

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 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts