Вычисление наименьшего общего делителя (НОД) с помощью алгоритма Евклида

code: #perl
  1. #!/usr/bin/perl
  2. use warnings;
  3.  
  4. sub gcd
  5. {
  6.     my ($x, $y)=@_;
  7.     while($x)
  8.     {
  9.         ($x, $y)=($y, $x) if $x>$y;
  10.         $y-=$x;
  11.     }
  12.     return $y;
  13. }
  14.  
  15. my $gcd=shift;
  16.  
  17. while(@ARGV)
  18. {
  19.     $gcd=gcd($gcd, shift);
  20. }
  21.  
  22. print "$gcd\n";
Поделиться:

Похожие статьи: