Série de Fibonacci usando recursividade em linguagem C

Publicado por Perfil removido em 06/07/2007

[ Hits: 144.885 ]

 


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

Debian 12 Bookworn para Iniciantes

Permissão para acesso remoto do MySQL

Bloqueando conexões indesejadas (Lista de endereços nocivos)

Como personalizar os ícones do Docky

Executando comandos rápidos no Kurumin

Leitura recomendada

Checagem de erro do scanf

Qt - Adicionando uma foto em Label (QLabel)

Pressionar tecla e não precisar pressionar ENTER

Incluindo paths para os seu próprios headers

Mais uma dica de curso de C e C++

  

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