Ir para conteúdo
Fórum Script Brasil
  • 0

Linguagem C- Fibonacci


Bruno Pacheco

Pergunta

Meu programa não funciona quando se digita números altos como 500, ou seja, não exibe a sequencia de fibonacci da forma correta. Queria saber se esse problema tem solução?

#include<stdio.h>
#include<stdlib.h>

 int main (){
   
    int soma,n,f,x,contador;
    
    printf("Entre com um numero para determinar a serie de fibonacci: ");
    scanf("%d",&n);
    
    
    f=1;
    contador =0;
    x=0;

    for (;contador < n;){
    soma = f + x;
    x = f;
    f = soma;          
    contador += 1;
    printf("%d\n ",x);
    }   
    system("pause");
    }

Editado por Bruno Pacheco
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá amigo!

Para incluir uma biblioteca qualquer no seu programa e que não esteja disponível no sistema, você terá que baixar os arquivos dessa biblioteca no site da mesma e depois fazer alguma coisa no compilador pra dizer a ele que é pra linkar seu programa com essa biblioteca.

No gcc do Linux você faz isso adicionando uma flag na linha de comando. Por exemplo, quando quero linkar com a biblioteca matemática, adiciono -lm.

Nos compiladores do Windows, te confesso que não sei como fazer...

Quanto ao seu problema com os números muito grandes... certamente que a idéia de usar uma biblioteca para precisão "infinita" é a solução mais elegante. Entretanto, como gerar a sequência de Fibonacci nada mais é do que realizar somas, você não teria muito trabalho para implementar sua própria "precisão infinita", usando strings por exemplo. Nesse caso, em vez de representar o número como um tipo int, representaria como um tipo char[], onde cada caractere é um número e em vez de somar com o operador '+', somaria com sua própria função de soma, que realizaria a operação algarismo por algarismo. Feito isso, você pode ter números do tamanho que quiser (ou enquanto houver memória no seu PC).

Boa sorte!

Um abraço!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...