Ir para conteúdo
Fórum Script Brasil
  • 0

Sequencia de Fibonacci em Perl


Roffs d'Grain

Pergunta

Oi galera, beleza?

Para um teste em um emprego me foi pedido para:

Criar um programa em Perl que receba 1 parâmetro numérico e devolva a sequencia de Fibonacci com quantidade de eventos informado no parâmetro.

Por exemplo: parâmetro = 10

O programa devolve x x x x x x x x x x eventos

O que eu desenvolvi foi:

#!/usr/bin/perl  
    use 5.010;  
    use strict;  
    use warnings;  
    my $a = 1;   
    my $b = 0;   
    print "Digite o parametro numerico para indicar o tamanho da sequencia de Fibonacci\n";  
    my $numX = <STDIN>;  
    for(my $i=0;$i<$numX;$i++){  
          
        $b += $a;  
        $a = $b - $a;  
        print $b." ";  
          
    }

Como não sou um programador Perl e também não tenho muita familiaridade com a sequencia de fibonacci, gostaria da opinião do pessoal, para saber se está tudo certinho e em que eu poderia melhorar o código.

Toda e qualquer dica é bem vinda!! :)

Editado por Roffs d'Grain
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

exemplos

#!/usr/bin/perl
use warnings;
use strict;

$a = 0;
$b = 1;
print "$a\n$b\n";

for(1..10)
{
        ($a,$b) = ($b,$a+$b);
        print "$b\n";
}
======================================
#!/usr/bin/perl
use strict;

my $n = shift;
my ($a,$b)=(1,2);

print "$a\n$b\n";

for(1..$n-2) 
{  ($a,$b) = ($b,$a+$b);  
print "$b\n"}

basta fazer as alterações necessarias

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Hi.

Tenho um que fiz há algum tempo que implementa um cachezinho numa hashref estática.

Não é nada mas fica muito mais rápido que a implementação comum:

use strict;
use warnings;
use feature qw(say state);

sub fib {
    state $m = {
        1 => 1,
        2 => 1,
    };
    return $m->{$_[0]} //= fib($_[0] - 1) + fib($_[0] - 2);
}

say fib 45;

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...