Pular para o conteúdo

Série de Fibonacci usando recursividade em linguagem C

Dica publicada em C/C++ / Introdução
Perfil removido removido
Hits: 145.342 Categoria: C/C++ Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

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!

Modens 3G no Linux: qual o problema?

Instalando Java e NetBeans5.0 no Ubuntu 5.10

Instalando Google Chrome no Ubuntu 17.10

Debian 13 Trixie para Iniciantes

Como evitar que o "apt-get autoremove" desinstale toda a interface gráfica

Limpando o buffer do teclado em C

Classes para vários tipos (templates)

Conversão vetor de caracteres para double

Site para quem está iniciando em C

Pesquisar número num vector em C

#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

Entre na sua conta para comentar.