Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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.

    sub multigcf { my $x = shift; $x = gcd($x, shift) while @_; #should be gcf! return $x; }
Re: greatest common factor
by Anonymous Monk on Jun 12, 2014 at 08:03 UTC

    the copy/paste i needed

    many thanks ^_^

Back to Snippets Section

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2014-08-23 10:45 GMT
Find Nodes?
    Voting Booth?

    The best computer themed movie is:

    Results (173 votes), past polls