##
use strict;
use warnings;
use Memoize;
memoize('fib');
foreach my $x (0..$ARGV[0]) {
print fib($x);
}
sub fib {
my ($n, $a, $b) = (shift, 0, 1);
($a, $b) = ($b, $a + $b) while $n-- > 0;
$a;
}
####
use strict;
use warnings;
use Memoize;
memoize('fib');
foreach my $x (0..$ARGV[0]) {
print fib($x);
}
sub fib {
my $n = shift;
return $n if $n < 2;
return fib($n - 1) + fib($n - 2);
}