Sequência de Fibonacci – Exemplo na linguagem C

Mais um exemplo de como escrever um programa que gere números na sequência de Fibonacci. É mais um exemplo usando a lingugem C.

O código é bem curto e contém comentários explicativos.

Espero ter sido claro nas explicações.

Dúvidas ou sugestões, entre em contato.

Você pode fazer o download desse código clicando aqui.

34 thoughts on “Sequência de Fibonacci – Exemplo na linguagem C

    1. Opa Felipe!

      Se você utiliza Windows, precisa sim.

      Vou atualizar o post com essa observação.

      Abs!

  1. mas e se por acaso o nosso objectivo seja que a sequencia pare até o numero inserido?? (por exemplo:8 => 1, 1, 2, 3, 5, 8)

    1. Simples! Declare c=0 e na condição looping deixe assim: for(i = 0; c < n; i++). Perceba a mudança em relação ao código original. Espero ter sido claro. Abs!

  2. E como eu faço se eu quiser mostrar somente os 10 primeiros elementos após o numero que eu digitei, por exemplo eu começo com o numero 5 e quero sabe os proximos 10 elementos dessa sequencia?

    1. n= input(‘Digite o valor de n’);
      x=1;
      y=1;
      soma = 0 ;
      while(x<=n)
      y= x^2;
      soma = soma + y;
      x= x+1;
      end;
      soma = soma*n;
      disp(soma)

    1. void = vazio , logo trata-se de uma função vazia sem um valor atribuído, nota-se que quando o programa roda ele retorna para o usuário no return o numero digitado, exemplo scanf(“%d”, & i);
      scanf = 8 no return ele return 8 para o sistema operacional.

      espero ter ajudado felipe.
      abç;

  3. Não entendi qual foi a função das variaveis ( i ) e ( c ), e porque preciso inserir a linha 20, printf(“%d\n”, b); ?

    obs: Estou aprendendo a pouco tempo a linguagem C.

    1. Pra facilitar, mudei o nome da variável c para auxiliar, já que ela recebe a soma de a+b e passa pra b. A variável i é apenas um contador.

    1. Ambos são estruturas de controle. O while é uma estrutura simples. Enquanto a condição for verdadeira ele executará. Exemplo: while (condicao == verdade) { trecho a ser executado }. Já o for é uma estrutura mais complexa. Exemplo: for (exp1; exp2; exp3) { trecho a ser executado }. exp1 sempre é avaliado e se exp2 for verdadeiro, exp3 será incrementado(ou decrementado). Exemplo2 do for: for (i=0; i<10; i++). Nesse exemplo: i recebeu o valor 0, depois foi perguntado se i é menor que 10; Já que é verdade que i é menor que 10, i é incrementado(i+1) e passa a ser 1.

  4. Obrigada, comecei faze lógica de programação agora e não sabia nem por onde começar fazer esse exercício.

  5. O codigo está com 1 erro, ele mostra a sequencia de maneira errada sendo que mostra que a posição 2 = 2, 3 = 3, 4 = 5
    O certo seria 2 = 1, 3 = 2, 4 = 3
    1 2 3 4 5 6
    1,1,2,3,5,8….

    1. Ano, não sei como você fez, mas acabei de rodar aqui e a sequência aparece corretamente. Qualquer coisa, baixe a versão que coloquei no Github e teste novamente.

  6. Preciso fazer um programa que indique os numeros da sequencia fribonacci entre 0 e 1000, agradeço desde ja a ajuda.

  7. Eu gostaria de saber como faz essa questão:

    “Construa uma classe chamada Fibonacci que gere a sequência de Fibonacci. O total de elementos da sequência deverá ser passado como parâmetro no método mostrarFibo(int tam).”

    Se puder me ajudar, agradeço desde já…

  8. como faço para calcular serie, s= 1 – 1/1 – 1/2 – 1/3…. ate que o valor de 1/n seja menor que o valor dado como entrada.

  9. como faço para calcular serie, s= 1 + 1/1 + 1/2 + 1/3…. ate que o valor de 1/n seja menor que o valor dado como entrada.

  10. nao estou conseguindo fazer esse algoritmo em C.
    Escrever um algoritmo que gera os 30 primeiros termos da Série de Fibonacci e escreve os
    termos gerados com a mensagem: “é primo” ou “não é primo” conforme o caso.

  11. #include
    // essa é uma solução alternativa usando c++
    using namespace std;

    int main()
    {

    int fibonacci{1},anterior{1},i{0};

    // 4 é apenas um exemplo, pode ser outro inteiro desde q não estoure a memória

    while(i < 4)
    {

    cout << fibonacci << '\n' << anterior << '\n';

    fibonacci += anterior;

    anterior += fibonacci;

    ++i;

    }

    return 0;
    }

  12. Você está colocando para printar o ”auxiliar”.

    Aqui está dando errado. Fib de 20 deu 10946, que é o Fib de 21.

    Coloquei para printar o ‘a’ e deu certo.

    Vlw mesmo assim.

  13. sei q o post é antigo mas não custa tentar, e se no caso o meu código quiser mostrar a estrutura q vá até o decimo resultado ex:2, 2, 4, 6, 10, 16, 26, 42, 68, 110 como posso fazer????? agradeço desde já!

  14. Ola ,se eu for usar apenas o while, como seria a logica, lembrando que preciso montar o codigo, entao nao vale montar por mim. grata.

  15. Não entendi, to tentando fazer um parecido:
    Faça um programa para somar a sequencia de número abaixo: S = 1+2+4+8+16+…
    Alguém ajuda?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Time limit is exhausted. Please reload CAPTCHA.