NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Memoize and bignum (Score:2)
In my Mastering Perl class, I also show Memoize for the recursive solution, and bignum for all the solutions.
So, are you working on this as an article for TPR? :)
Re: (Score:2)
shouldn't this be optional (Score:1)
How about
sub fact
{
my ( $n ) = @_;
my @s = ();
$s[0] = 1;
foreach my $m ( 1 .. $n )
{
$s[$m] = 0;
for( my $k = $m;$k>=1;$k--)
{
re: How would you write factorial? (Score:1)
I wouldn't call this golfing or obfuscation. It's another take on the classic recursive algorithm, and might not be interesting. Anyway, here's how I'd write the recursive version:
sub factorial {
my $v = shift;
return 1 if $v == 1;
return $v * factorial( $v - 1 );
}
I like to get the terminating case out of the way early on, and then read the meat of the algorithm (or soy of the al
reduce (Score:2)
Too bad it produces spurious warnings:
Name "main::a" used only once: possible typo at test.pl line 5.Name "main::b" used only once: possible typo at test.pl line 5.
Iterative, but not C-ish, but straightforward (Score:1)
Re: (Score:2)
I would write it in a similar way too.