Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
streex

Dúvide em C (uso do For)

Recommended Posts

Pessoal,

fiz um exercício que pedia pra imprimir na tela os 20 primeiros números da série de Fibonacci: 1, 2, 3, 5, 8, 13...

a lógica, pelo que parece tá certa, minha dúvida é com relação a aparição dos 20 numeros na tela.

vejam


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

int main ()
{
int x=1, y=1, soma;

printf("%d %d ", x, y);

for(x>0; x<2585; x++){

soma = x+y;
x = y-1;
y = soma;

printf(" %d ", soma);
}

system("PAUSE");
return 0;
}

Só aparecem os 20 numeros se o valor de x ali no For foi menor que 2585... é o limite. Se for 2584 ele só mostra 19 numeros... e quanto menor o valor ali aparecem menos valores na tela.

Não sei porque isso acontece, não conseguir entender...

na verdade deveria ser x<=18 porque os 2 primeiros já são imprimidos antes...

Alguém da uma ajuda aí,

desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, teu código tá da maneira mais ineficiente possível.

Assim deve funcionar melhor, e ele imprime os 2585 primeiros números da série.


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

int main ()
{
int x=1, y=1, soma, contador;

printf("%d %d ", x, y);

for(contador = 0; contador<2585; contador++){

soma = x + y;
x = y;
y = soma;

printf("%d ", soma);
}

system("PAUSE");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×