Série de Fibonacci
Publicado por Oberlan C. Romão (última atualização em 29/05/2010)
[ Hits: 6.354 ]
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;
}
Calcular taxa de juros com constante em C
EXPRESSÕES ARITMÉTICAS - PARTE 2
Nenhum comentário foi encontrado.
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Apagar Todo o Histórico do Terminal
Linux Mint: Zram + Swapfile em Btrfs
Internet não funciona corretamente no Linux (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)
Instalar Dual Boot, Linux+Windows. (14)
queria saber de uma coisa sobre o steam e derivados (3)
tentei instalar o steam pelo terminal, agora ele não abre (3)









