in reply to (tye)Re3: In theory, theory and practice are the same...
in thread Binomial Expansion
And the improvement is subtle. For instance consider the following slightly different version of your code:
Someone was trying to simplify. But oops. In Perl you have just slowed down instead. In other languages you are going to get wrong answers. It takes a fair amount of knowledge to understand what changed. In fact it takes a fair amount of knowledge to understand why the original formula can be sped up by using your alternate approach.sub not_so_nice { my ($n, $r) = @_; my $res = 1; for my $i (1..$r) { $res *= ($n-- / $i); } return $res; }
Now I appreciate that you have both pieces of knowledge. In fact the necessary analysis is probably almost a reflex for you, just like it is for me. But not everyone has the math background that we do...
|
---|