Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jnejunior

[Resolvido] Teoria de Fibonacci (lê-se assim: Fibonati)

Recommended Posts

preciso criar um algoritmo que mostre os dez primeiros números da teoria de Fibonacci..

 

Fibonacci diz que n= 0,1,1,2,3,5,8,13,21,34...

 

soma o número atual com seu antecessor e terá o proximo, mas não estou conseguindo criar um algoritmo, para tal aplicação...

 

usando o visualg...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom uso da área

 

Atenção:

Este subfórum é destinado apenas para postagem de artigos, tutoriais e matérias sobre PHP.

Não é permitido a abertura de tópicos com dúvidas. Para isso, use o Fórum de PHP.

 

Tópico Movido

Artigos, Matérias e Tutoriais (PHP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Lógica de Programação e Algorítimo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá, na teoria de fibonacci a lógica é que o próximo número é igual ao número corrente + número anterior..

 

Exemplo:

 

var anterior=1,posterior=0,sequencia,contador=1;
    
   Enquanto contador <= 10 {
         sequencia = anterior + posterior;
         anterior = posterior;
         posterior=sequencia;
         contador = contador + 1; 
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá, na teoria de fibonacci a lógica é que o próximo número é igual ao número corrente + número anterior..

Bom, aplicando matematicamente:

 

/**
* Calcula o número de Fibonacci definido pela posição $n na sequencia
* @param integer $n A posição do número na sequencia
* @return integer O número de Fibonacci
*/
function fibonacci( $n ){
$sqrt5 = sqrt( 5 );

return ( 1 / $sqrt5 ) * ( pow( ( 1 + $sqrt5 ) / 2 , $n ) - pow( ( 1 - $sqrt5 ) / 2 , $n ) );
}

echo 'O primeiro número de Fibonacci é: ' , fibonacci( 0 ) , PHP_EOL;
echo 'O segundo número de Fibonacci é: ' , fibonacci( 1 ) , PHP_EOL;
echo 'O terceiro número de Fibonacci é: ' , fibonacci( 2 ) , PHP_EOL;
echo 'O quarto número de Fibonacci é: ' , fibonacci( 3 ) , PHP_EOL;
echo 'O quinto número de Fibonacci é: ' , fibonacci( 4 ) , PHP_EOL;
echo 'O sexto número de Fibonacci é: ' , fibonacci( 5 ) , PHP_EOL;
echo 'O centésimo número de Fibonacci é: ' , fibonacci( 100 ) , PHP_EOL;

 

A saída será:

O primeiro número de Fibonacci é: 0

O segundo número de Fibonacci é: 1

O terceiro número de Fibonacci é: 1

O quarto número de Fibonacci é: 2

O quinto número de Fibonacci é: 3

O sexto número de Fibonacci é: 5

O centésimo número de Fibonacci é: 3.5422484817926E+20

 

Usando um laço para recuperar os 20 primeiros números da sequencia:

for ( $i = 0 ; $i < 20 ; ++$i )
	echo 'O número de Fibonacci na posição ' , $i + 1 , ' da sequencia é: ' , fibonacci( $i ) , PHP_EOL;

 

A saída será:

O número de Fibonacci na posição 1 da sequencia é: 0

O número de Fibonacci na posição 2 da sequencia é: 1

O número de Fibonacci na posição 3 da sequencia é: 1

O número de Fibonacci na posição 4 da sequencia é: 2

O número de Fibonacci na posição 5 da sequencia é: 3

O número de Fibonacci na posição 6 da sequencia é: 5

O número de Fibonacci na posição 7 da sequencia é: 8

O número de Fibonacci na posição 8 da sequencia é: 13

O número de Fibonacci na posição 9 da sequencia é: 21

O número de Fibonacci na posição 10 da sequencia é: 34

O número de Fibonacci na posição 11 da sequencia é: 55

O número de Fibonacci na posição 12 da sequencia é: 89

O número de Fibonacci na posição 13 da sequencia é: 144

O número de Fibonacci na posição 14 da sequencia é: 233

O número de Fibonacci na posição 15 da sequencia é: 377

O número de Fibonacci na posição 16 da sequencia é: 610

O número de Fibonacci na posição 17 da sequencia é: 987

O número de Fibonacci na posição 18 da sequencia é: 1597

O número de Fibonacci na posição 19 da sequencia é: 2584

O número de Fibonacci na posição 20 da sequencia é: 4181

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá, na teoria de fibonacci a lógica é que o próximo número é igual ao número corrente + número anterior..

 

Exemplo:

 

var anterior=1,posterior=0,sequencia,contador=1;
    
   Enquanto contador <= 10 {
         sequencia = anterior + posterior;
         anterior = posterior;
         posterior=sequencia;
         contador = contador + 1; 
    }

 

obrigado pela ajuda... valeu mesmo, simples e prático

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.