Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
The stupid question is the question not asked
 
PerlMonks  

greatest common factor

by MrNobo1024 (Hermit)
on Feb 07, 2001 at 10:42 UTC ( #56906=snippet: print w/ replies, xml ) Need Help??

Description: These functions determine the greatest common factor or least common multiple of a set of numbers. gcf() and lcm() take two numbers as arguments, and multigcf() and multilcm() will take any amount. EDIT: fixed a bug in multigcf().
sub gcf {
  my ($x, $y) = @_;
  ($x, $y) = ($y, $x % $y) while $y;
  return $x;
}

sub lcm {
  return($_[0] * $_[1] / gcf($_[0], $_[1]));
}

sub multigcf {
  my $x = shift;
  $x = gcf($x, shift) while @_;
  return $x;
}

sub multilcm {
  my $x = shift;
  $x = lcm($x, shift) while @_;
  return $x;
}
Comment on greatest common factor
Download Code
Re: greatest common factor
by zeno (Friar) on Feb 07, 2001 at 16:16 UTC

    Very elegantly done. BTW, there's a typo in the sub multigcf: gcd should be gcf! Otherwise, a very nice offering.
    -zeno

    sub multigcf { my $x = shift; $x = gcd($x, shift) while @_; #should be gcf! return $x; }

Back to Snippets Section

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://56906]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (10)
As of 2014-04-18 03:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (461 votes), past polls