note
lolindrath
This is the Euclidean algorithm for finding the Greatest common divisor between two numbers. I thought I'd throw a bit of my own code into the fray. The first one uses a loop, the second uses recursion. Could someone benchmark this for me?
<br>
<code>
#!/usr/bin/perl -w
print "GCD: " . GCD( 45, 5 ) . " RecGCD: " . RecGCD( 45, 5 ) . "\n";
#Assumes $A is the largest number
sub GCD
{
$A = shift;
$B = shift;
$R = 1;
while ( $R != 0 )
{
$R = $A % $B;
if ( $R == 0 )
{
return $B;
}
$A = $B;
$B = $R;
}
}
#Assumes $A is the largest number
sub RecGCD
{
$A = shift;
$B = shift;
$R = 0;
$R = $A % $B;
if ( $R == 0 )
{
return $B;
}
RecGCD( $B, $R );
}
</code>
<br><br>
<font face="Arial" size=-3 color=black><strong><a href="http://www.lolindrath.com">--=Lolindrath=--</a></strong></font>
41634
41634