jnejunior 1 Denunciar post Postado Dezembro 6, 2009 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
Matias Rezende 50 Denunciar post Postado Dezembro 6, 2009 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 MovidoArtigos, 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
h4v3st 1 Denunciar post Postado Dezembro 7, 2009 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
João Batista Neto 448 Denunciar post Postado Dezembro 7, 2009 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
jnejunior 1 Denunciar post Postado Dezembro 12, 2009 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