Ir ao conteúdo

Posts recomendados

Postado

O exercicio pede para imprimir os 25 primeiros numeros da sequencia de Fibonacci, entretanto, o codigo consegue mostrar a sequencia mas nao para quando chega em 25, mas sim em 300.

Alguem poderia da uma olha no seguinte condigo, e me dizer o que tem de errado.

 

#include <stdlib.h>
#include <stdio.h>
//Desafio sobre mostrar a sequencia de Finonacci. Os 25 primeiros.
main(){
    int i, j=0, a=0,b=1, cont=0, num, aux;

    do{

        for(i=0;i<j;i++){
            aux=a+b;
            a=b;
            b=aux;
            cont++;
            printf("%d Fibonacci %d\n",cont, aux);
        }
    j++;
    }while(j!=25); /* se eu colocar para parar quando cont chega em 25, entra em loop, ja com o j nao */

system("pause");
return 0;
}

 

Postado

@Josesousa  Olá. Daria para "contornar" o problema dessa forma:

 

cont++;
if (cont < 26)
    printf("%d Fibonacci %d\n",cont, aux);

Mas não é a melhor maneira d resolver esse exercício.

Faz um pequeno teste: imprima o valor de j no início do do/while para ver o q está acontecendo

Também seria interessante repensar a lógica para q o resultado seja correto. Dá uma olhada no link:

https://pt.wikipedia.org/wiki/Sequência_de_Fibonacci

Postado

@giu_d Valeu!!!:thumbsup:

Deu certo agora, so que não entendi muito bem o porque que quando eu colocava o do/while para parar se cont fosse 25 ele nao parava:(.

Você resolveria esse problema de qual outra forma? Eu mesmo, so consegui pensar dessa forma...                                           

Ah, acabei trocando os valores de a por b , para que comecasse em 1,1,2.....

Postado

Olá..

Injeta esse codego e faz uns alteração:

#include <stdio.h>
int main()
{
    int na=1,nt=0,nn;
    for(int i=0; i<= 25; i++){
        nn = nt + na;
       na = nt;
       nt = nn;    
       printf(" - %d ",nn);
    }

}

Saida:

1,1,2,3,5,8....

Espero ter ajudado e até...

Luís.

Postado

@LuisOPsum No caso, voce fala em transformar esse codigo ne algo que de numa sequencia de Fibonacci?

Pois a saida de Fibonacci não é essa nao amigo!

Mas se for para transforma-la ate que se adeque ao exercicio, valeu!!!

Postado
57 minutos atrás, Josesousa disse:

@LuisOPsum No caso, voce fala em transformar esse codigo ne algo que de numa sequencia de Fibonacci?

Pois a saida de Fibonacci não é essa nao amigo!

Mas se for para transforma-la ate que se adeque ao exercicio, valeu!!!

Olá...

Amigo kds.. foi mal Bhother...

Era esse e mandei de outro.

Agora pode injectar esse.:

#include <stdio.h>
int main()
{
    int na=1,nt=0,nn;
    for(int i=0; i<= 25; i++){
        nn = nt + na;
       na = nt;
       nt = nn;    
       printf(" - %d ",nn);
    }

}

Obrigado e até... qualquer coisa comenta..

Luís.

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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...