A seqüência de Fibonacci é a seqüência de inteiros: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
....
A seguir, é listada a função interativa para calcular o n-ésimo termo da
seqüência:
int fibc(int n)
{
int l,h, x, i;
if( n == 0)
return 0;
else if( n <= 2)
return 1;
l = 0;
h = 1;
for(i=2; i<= n; i++)
{
x = l;
l = h;
h = x + l;
}
return h;
}
Programa 1.3
O n-ésimo número é definido como sendo a soma dos dois números anteriores.
Logo, fazendo a definição recursiva
· fib(n) = ne se n = 0 ou n = 1
· fib(n) = fib(n-2) + fib(n-1) se n >= 2
Cálculo do próximo número da
seqüência.
Estruturas de Dados - Marcos Laureano – www.laureano.eti.br 4
O programa recursivo para retornar o e-nésimo termo da seqüência é listado na
seqüência:
int fibr( int n )
{
if( n == 0)
return 0;
else if( n <= 2)
return 1;
else
return fibr(n-1) + fibr(n-2);
}
Programa 1.4
Esta solução é muito mais simples de programar do que a versão iterativa
(programa 1.3). Contudo, esta versão é ineficiente, pois cada vez que a função fibr é
chamada, a dimensão do problema reduz-se apenas uma unidade (de n para n-1), mas
são feitas duas chamadas recursivas. Isto dá origem a uma explosão combinatorial e o
computador acaba por ter de calcular o mesmo termo várias vezes.
Para calcular fibr(5) é necessário calcular fibr(4) e fibr(3).
Consequentemente, para calcular fibr(4) é preciso calcular fibr(3) e fibr(2).
E assim sucessivamente. Este tipo de processamento é inadequado já que o computador
é obrigado a fazer trabalho desnecessário. No exemplo, para calcular fibr(5) foi
preciso calcular fibr(4) 1 vez, fibr(3) 2 vezes, fibr(2) 3 vezes, fibr(1) 5
vezes, e fibr(0) 3 vezes. No programa iterativo, apenas era necessário calcular
fibc(5), fibc(4), fibc(3), fibc(2), fibc(1), e fibc(0) 1 vez.
Forte abraço
2007-01-09 03:30:38
·
answer #1
·
answered by Francisco P 4
·
0⤊
0⤋
1,1,2,3,5,8,13,21,... O algoritmo é que um termo é a soma dos dois anteriores. Começando com 1, o segundo é 1 (1+ nada), o terceiro é 2 (1+1), o próximo é 3 (2+ 1) e assim vai.
2007-01-09 03:29:04
·
answer #2
·
answered by Oráculo 4
·
1⤊
0⤋
Cheap Online Mall --- http://shop3.4gw.pw/ec3q4
2016-05-05 01:49:17
·
answer #3
·
answered by Anonymous
·
0⤊
0⤋
Fibonacci é uma seqüencia numérica. Ex:o número 0-1-1-2-3-5-8-13-21;
1) 0+1=1
2) 1+1=2
3) 2+3=5
4) 3+5=8
5) 5+8=13
6) 8+13=21
0-1-1-2-3-5-8-13-21
Perceba que esta seqüencia é feita da soma de números anteriores (regra: começando por 0 e 1), como nesse exemplo acima.
Essa seqüência foi criada por Leonardo Pisano, mas depois de sua morte ficou conhecido como Fibonacci e ficou mais conhecido por essa criação. É tido por alguns como o matemático mais talentoso da idade média.
2007-01-09 08:05:56
·
answer #4
·
answered by Natasha 6
·
0⤊
0⤋
sei não.
2007-01-09 04:14:40
·
answer #5
·
answered by Francisco 7
·
0⤊
0⤋
cansei de fazer isso em linguagem C
¬¬º
1, 1, 2, 3, 5, 8, 13, ...
a partir do 3º termo eles são determinados como sendo a soma dos 2 anterires
2007-01-09 03:40:24
·
answer #6
·
answered by Dona Maria 3
·
0⤊
0⤋
1-1-2-3-5-8-13-21...
2007-01-09 03:30:29
·
answer #7
·
answered by Anonymous
·
0⤊
0⤋
A sequência de Fibonacci consiste em uma sequência de números, tais que, definindo os dois primeiros números da sequência como sendo 0 e 1, os números seguintes são obtidos através da soma dos seus dois antecessores. Portanto, os números são: 0,1,1,2,3,5,8,13,21,34,55,89,144,233,...
Dessa sequência se extrai o número transcedental conhecido como número de ouro.
Recentemente a sequência de Fibonacci tornou-se um tema célebre da cultura popular ao ser citada no livro e filme O Código Da Vinci.
2007-01-09 03:28:54
·
answer #8
·
answered by WebMaster 7
·
0⤊
0⤋
seria "Gibonacci??? rsrsrsrsr
2007-01-09 03:37:27
·
answer #9
·
answered by alguemxz 2
·
0⤊
1⤋