Tuesday, May 02, 2006
Sequencia de Fibonacci
Lancei um desafio semana passada em um forum onde participo. A idéia era escrever uma query em SQL puro (sem o uso de PL/SQL) que resultasse na sequência de Fibonacci.
Também havia dado uma dica: que eu consegui em 10g. Portanto usando uma nova feature da versão. A feature usada foi o MODEL. Vale a pena parar e estudar um pouco essa nova cláusula do SELECT a partir da versão 10g.
Também havia dado uma dica: que eu consegui em 10g. Portanto usando uma nova feature da versão. A feature usada foi o MODEL. Vale a pena parar e estudar um pouco essa nova cláusula do SELECT a partir da versão 10g.
SQL> select s seq
2 from dual
3 model return all rows
4 dimension by ( 0 d ) measures ( 0 s )
5 rules iterate (12) (
6 s[iteration_number ] = decode(
7 iteration_number, 0, 0, 1, 1, s[iteration_number-2]
8 ) + nvl(s[iteration_number-1],0)
9 )
10 /
SEQ
-------------
0
1
1
2
3
5
8
13
21
34
55
89
12 rows selected.
Labels: Training
Comments:
<< Home
Uai tio ... pelo menos eu não viajari quando eu disse que talvez vc tivesse usado o previous ... hehehehehehe ... vc usou o model sem previous ... *rs ... não foi na mosca, mas passei perto *rs
abs ...
abs ...
Achei mto interessante essa sua técnica e estou a procurar mais sobre o model, mas nada em portugues, será que não poderias fazer um artigo sobre isto, acho que seria interessante.
Show de bola...
Uma vez eu fiz um SQL que gera os números PRIMOS, mas foi apenas com SQL básico... Veja:
http://www.glufke.net/oracle/viewtopic.php?t=637
Dr_GORI!!!
Uma vez eu fiz um SQL que gera os números PRIMOS, mas foi apenas com SQL básico... Veja:
http://www.glufke.net/oracle/viewtopic.php?t=637
Dr_GORI!!!
em pl/sql tem vários exemplos publicados pela internet, inclusive nos manuais da oracle, o exemplo da sequencia de fibonacci é usada para explicar recursividade.
boa tarde!!!
tenho que resolver esse exercicio mais estou com dificuldades, você pode me ajudar:
Crie um bloco PL/SQL que calcule a seqüência de fibonacci (1 1 2 3 5 8 13 21 34 55) para um determinado numero de elementos, recebido como parâmetro e variado de 1 a 30.
desde já agradeço sua atenção
Post a Comment
tenho que resolver esse exercicio mais estou com dificuldades, você pode me ajudar:
Crie um bloco PL/SQL que calcule a seqüência de fibonacci (1 1 2 3 5 8 13 21 34 55) para um determinado numero de elementos, recebido como parâmetro e variado de 1 a 30.
desde já agradeço sua atenção
<< Home