Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 3292218ae8be3d2be9642ee26003af43 > files > 216

perl-Devel-Trepan-0.500.0-2.mga4.noarch.rpm

#!/usr/bin/env perl
use strict;
use warnings;
use rlib '../lib';

# GCD. We assume positive numbers
sub gcd($$);
sub gcd($$) 
{ 
    my ($a, $b) = @_;
    # Make: a <= b
    ($a, $b) = ($b, $a) if ($a > $b);

    return undef if $a <= 0;
    return $a if ($a == 1) or ($b-$a == 0);
    Devel::Trepan::debugger();
    return gcd($b-$a, $a);
}

die sprintf "Need two integer arguments, got %d", scalar(@ARGV) unless 
    @ARGV == 2;
my ($a, $b) = @ARGV[0,1];
printf "The GCD of %d and %d is %d\n", $a, $b, gcd($a, $b);