Ir ao conteúdo
  • Cadastre-se

lógica de programação


Plástico Bolha

Posts recomendados

Oi estava vendo um exemplo e me surgiu a seguinte dúvida, Porque caso eu digite o número 5, a variável "resultado" terá o valor 5 e não 6 ? E se o "for" não tem nada que o condicione a parar, qual é o critério que ele usa para parar ? Obrigado pela paciência ^_^

#include <iostream> 
using namespace std;
long forFibo(long posicao);
int main()
{
long resposta pos;
cout << "\nDigite a posicao na serie: ";
cin >> pos;
resposta= forFibo(pos);
cout << "\nPosicao = "
<< pos
<< ", Num. Fibonacci = " << resposta<< "\n";
system("PAUSE");
return 0;
}
long forFibo(long posicao)
{
long menosDois,
menosUm = 1,
resposta = 2;
if(posicao < 3)
return 1;
for(posicao -= 3; posicao; posicao--)
{
menosDois = menosUm;
menosUm = resposta;
resposta = menosUm + menosDois;
}
return resposta;
}

OBS: Digamos que eu digite o número 5 ...

...
if(posicao < 3)
return 1;
for(posicao -= 3; posicao; posicao--) // 5-4 aqui ... = 1 posição decairá para 1
{
menosDois = menosUm; // Menosdois = 1
menosUm = resposta; // menosum = 2
resposta = menosUm + menosDois; // Toda vez resposta aumenta 3 aqui
}

MenosDois = 1

MenosUm = 2

resposta = 3

Link para o comentário
Compartilhar em outros sites

#include <stdio.h>

int fibRecursivo(int i)
{
return i < 2 ? i : fibRecursivo(i-1) + fibRecursivo(i-2);
}

long fib(int i)
{
long aux1 = 0, aux2 = 1, result;
if (i < 2) return i;
else
{
for (int j = 1; j < i; j++)
{
result = aux1 + aux2;
aux1 = aux2;
aux2 = result;
}
}
return result;
}

int main()
{
for (int i = 0; i < 45; i++)
{
printf("%d\n",fib(i));
}

getchar();
return 0;
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!