Bora ajudar o programador a transformar café em código?

Mostrando postagens com marcador Sequência de FIbonacci. Mostrar todas as postagens
Mostrando postagens com marcador Sequência de FIbonacci. Mostrar todas as postagens

Série de Fibonacci em PHP, com LAÇOS

O PHP Progressivo agora faz parte do Programação Progressiva!

Este conteúdo foi atualizado e movido para o nosso novo endereço.

Redirecionando para: Clique aqui se não for redirecionado

Neste tutorial, vamos aprender como gerar a série de Fibonacci, usando apenas laços, em PHP.

Série de Fibonacci

A série de Fibonacci é aquela composta pelos números 0 e 1, inicialmente.

A partir daí, cada termo é a soma dos dois anteriores.
Vamos formar a série:

Termo 1 = 0
Termo 2 = 1
Termo 3 = 1 + 0 = 1
Termo 4 = 1 + 1 = 2
Termo 5 = 2 + 1 = 3
Termo 6 = 3 + 2 = 5
...

Ela é infinita e possui uma série de funções interessantes, além de aparições curiosas na natureza.
Vale a leitura:
https://pt.wikipedia.org/wiki/Sequ%C3%AAncia_de_Fibonacci

Como Fazer a Série de Fibonacci com Laços

Inicialmente, exibimos os termos 0 e 1. Ou seja, o usuário tem que inserir um número maior que 2, para expressar o número de termos que deseja ver.

Vamos usar três variáveis:
$atual - exibe o número atual, da série
$ultimo - último número da série
$penultimo - penúltimo número da série

Inicialmente:
$ultimo=1;
$penultimo=0;

Assim, o próximo termo da sequência será sempre:
$atual = $ultimo + $penultimo;
Após isso, exibimos o $ultimo com um echo.

Agora, temos que atualizar o valor das variáveis, fazer elas darem um pulo pra frente.
O novo valor de $penultimo será $ultimo, e o novo valor de $ultimo vai ser $atual (esse é o passo mais importante para se entender, se não entender tente novamente, até conseguir).

Nossa variável de controle vai de 1 até $n-2 (onde $n é o número de termos que o usuário deseja ver, da série), subtraímos dois pois já exibimos os dois primeiros valores:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Exibir até(maior que 2): <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $n=$_GET['number'];
  $ultimo=1;
  $penultimo=0;
    
  echo "0<br />1<br />";
  for($count=1 ; $count<=$n-2 ; $count++){
   $atual = $ultimo + $penultimo;
   echo $atual."<br />";
   
   $penultimo = $ultimo;
   $ultimo = $atual;
  } 
 ?>
 </body>
</html>

Veja também

O melhor PC para programar

O melhor celular para programar