Jump to content
Fórum Script Brasil
  • 0

Sequencia de Fibonacci em Perl


Roffs d'Grain

Question

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!! :)

Edited by Roffs d'Grain
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...