Ir ao conteúdo

Posts recomendados

Postado

boa tarde,

estou fazendo um programa que imprima os 100 primeiros números da sequencia de fibonacci.

A partir do 23º numero o programa começa a imprimir números errados.

O  que eu faço?

------------------------------------------------------------------

#include<stdio.h>

#include<stdlib.h>

int main()

{

 int i=0, nro1=0, nro2=1, soma;

for( i=1; i<=100; i++)

{
printf("%d,nro1);

soma=nro1+nro2;

nro1=nro2;

nro2=soma;

}

printf("\n\n");

system("pause");

return 0;

}

 

----------------------------------------------------------

obrigado a todos

 

Postado
1 minuto atrás, MassakiMsk disse:

Acredito que você precise de uma variável que suporte números maiores, como o long int  ou long long int. Eu não estou afirmando pois não testei.

eu testei usando essa duas variáveis também, porém não mudou nada.

Postado

Na hora do printf você fez %lld?

adicionado 5 minutos depois

Testei aqui e deu certo. Porém com long long int chega só até o elemento 92. Não sei se tem como passar disso.

Postado

Boa Tarde,

Tente declara a variável assim:

///~ C code
#include <stdio.h>
int main( void )
{
  unsigned long long int llVal = (unsigned long long int)-1;
  printf( "My Long long Integer size: %llu\n", llVal );
  return( 0 );
}

 

Postado

@Mauro Britivaldo

1 hora atrás, Mauro Britivaldo disse:

Boa Tarde,

Tente declara a variável assim:


///~ C code
#include <stdio.h>
int main( void )
{
  unsigned long long int llVal = (unsigned long long int)-1;
  printf( "My Long long Integer size: %llu\n", llVal );
  return( 0 );
}

 

Testei desse modo, e mesmo assim não deu certo

adicionado 1 minuto depois
1 hora atrás, Mauro Britivaldo disse:

Boa Tarde,

Tente declara a variável assim:


///~ C code
#include <stdio.h>
int main( void )
{
  unsigned long long int llVal = (unsigned long long int)-1;
  printf( "My Long long Integer size: %llu\n", llVal );
  return( 0 );
}

 

 

2 horas atrás, MassakiMsk disse:

Na hora do printf você fez %lld?

adicionado 5 minutos depois

Testei aqui e deu certo. Porém com long long int chega só até o elemento 92. Não sei se tem como passar disso.

desse jeito no meu foi até o 46º elemento.

Postado

Meu sistema é 64bits

#include<stdio.h>
#include<stdlib.h>
int main()
{
  unsigned long long int i=0, nro1=0, nro2=1, soma;
  for( i=1; i<=100; i++)
      {
          printf("\rnro1: %llu i: %llu", nro1, i );
                 soma=nro1+nro2;
                 nro1=nro2;
                 nro2=soma;
             }
                 printf("\n\n");
                 system("pause");
                 return 0;
             }

 

Mauro_Britivaldo_PrnScrn.png

Postado
13 minutos atrás, Mauro Britivaldo disse:

Meu sistema é 64bits


#include<stdio.h>
#include<stdlib.h>
int main()
{
  unsigned long long int i=0, nro1=0, nro2=1, soma;
  for( i=1; i<=100; i++)
      {
          printf("\rnro1: %llu i: %llu", nro1, i );
                 soma=nro1+nro2;
                 nro1=nro2;
                 nro2=soma;
             }
                 printf("\n\n");
                 system("pause");
                 return 0;
             }

 

Mauro_Britivaldo_PrnScrn.png

o meu sistema é 32 bits, será que é por isso que não está funcionando?

Postado

kkkk Eu não entendi a sua pergunta, estava tarde...

Fato é que a magnitude que se tem na centésima posição de Sequência de Fibonacci é grande:

Saiba mais pesquisando por: inttypes.h

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!