in reply to Continued Fractions
You rule Tilly!
I had to point out the mod operator in this function:
sub gcd { my ($n, $m) = @_; while ($m) { my $k = $n % $m; ($n, $m) = ($m, $k); } return $n; }. . . particularly the use of the mod operator. I remember reading Robert Sedgewick's Mastering Algorithms in C++ and really getting a kick out of the first example - Euclide's greatest common denominator formula.
At first, Sedgewick implemented it with the division operator:
my $k = $n / $m;Then he explained that replacing the / operator with the % operator results in about 75% less iterations through the while loop. Incredible.
Jeff
In Section
Code Catacombs