Estava dando uma olhada no wikipedia, <a href="http://pt.wikipedia.org/wiki/N%C3%BAmero_de_Fibonacci">http://pt.wikipedia.org/wiki/Número_de_Fibonacci</a> , e vi esse algoritimo em php<br><pre class="source-php"><span class="kw2"><?php</span><br>
<span class="coMULTI">/* Algoritmo Recursivo da Seqüência Fibonacci */</span><br><span class="kw2">function</span> fibonacci<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span> <span class="br0">{</span><br>
<span class="kw1">return</span> <span class="re0">$i</span> < <span class="nu0">2</span> ? <span class="re0">$i</span> : fibonacci<span class="br0">(</span><span class="re0">$i</span><span class="nu0">-1</span><span class="br0">)</span> + fibonacci<span class="br0">(</span><span class="re0">$i</span><span class="nu0">-2</span><span class="br0">)</span>;<br>
<span class="br0">}</span><br><span class="coMULTI">/* Chamando ... */</span><br><span class="kw1">for</span><span class="br0">(</span><span class="re0">$i</span>=<span class="nu0">1</span>;<span class="re0">$i</span><<span class="nu0">10</span>;<span class="re0">$i</span>++<span class="br0">)</span> <span class="br0">{</span><br>
<span class="kw3">echo</span> fibonacci<span class="br0">(</span><span class="re0">$i</span><span class="br0">)</span>.<span class="st0">"<span class="es0">\r</span><span class="es0">\n</span>"</span>;<br><span class="br0">}</span><br>
<span class="kw2">?></span><br><br>como no wiki não havia a verção em perl, pensei rapidamente num algorítimo clone, algo tipo<br>sub fibo {<br> return $_ < 2 ? $_ : fibo($_-1) + fibo($_-2);<br>}<br>for (my $i=0;$i<10;$i++){<br>
print fibo($i)."\n";<br>}<br><br>Mas me surpreendi por não funcionar !<br>claro que eu poderia fazer algo do tipo:<br>my ($a,$b)=(1,2);<br>print "$a\n$b\n";<br>for(1..10) {<br> ($a,$b) = ($b,$a+$b);<br>
print "$b\n"<br>} <br><br>mas queria saber o motivo do outro algorítimo falhar, e outra quando eu tentei <br></pre><br><pre class="source-php">sub fibo {<br> return $_ < 2 ? $_ : fibo($_-1) + fibo($_-2);<br>
}<br>print fibo($i)."\n" for (1..10);<br><br>a maquina ficou extremamente lenta, sem progredir , ai cancelei.<br>:~$ perl -v<br>This is perl, v5.10.0<br>quero ver os perl hackers me ajudarem a enteder essa :P<br>
<br>abraços<br></pre>