Série de Fibonacci
Publicado por Oberlan C. Romão (última atualização em 29/05/2010)
[ Hits: 6.371 ]
Homepage: http://twitter.com/oberlan
Um dos grandes problemas de quem participa de algum campeonato de programação e tem que fazer o programa gerar respostas rápidas é fazer a série de Fibonacci de forma eficiente. Pensando nisso resolvi apresentar uma solução.
O programa usa programação dinâmica, ou seja, ele vai armazenado as soluções que são encontradas, o que acelera o calculo da série.
#include <iostream>
#define ll long long
#define MAX 200
using namespace std;
ll tab[MAX];
void ini_fibo(){
for(int i=0; i<MAX; ++i)
tab[i] = -1;
tab[0] = 0;
tab[1] = 1;
}
ll fibo(ll n){
if(tab[n] != -1) return tab[n];
ll i = 2;
for(; i<=n; ++i)
if(tab[i] == -1) break;
for(; i<=n; ++i)
tab[i] = tab[i-1] + tab[i-2];
return tab[n];
}
int main(){
ll n;
cin >> n;
ini_fibo();
while (n){
cout << "Fibonacci(" << n << ") = " << fibo(n) << endl;
cin >> n;
}
return 0;
}
NOÇÕES DE ARITMÉTICA DE PONTEIROS
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalando o COSMIC DE no Gentoo (systemd)
Centralizar Logo com Transparência via ImageMagick
Removendo entradas de boot UEFI "fantasmas" via terminal
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Ajudante para criar dicas e artigos no VOL (0)
Midia de instalação LM-21.3 não inicializa [RESOLVIDO] (15)
Reunir material [RESOLVIDO] (4)
Uma pergunta bem simples mas não achei resposta (ainda) [RESOLVIDO] (4)









