Cálculo do MDC em Perl para quantidade ilimitada de parâmetros

Publicado por Perfil removido (última atualização em 09/04/2013)

[ Hits: 2.732 ]

Download gcd-002.pl




... ou para quantos couberem num dado tipo lista do Perl.

Algoritmo euclidiano simples para cálculo de MDC. Recebe uma quantidade indefinida de números para o cálculo.

  



Esconder código-fonte

#!/usr/bin/perl

use strict;
use warnings;

sub mdc {

   my @n3 = @_;

   return -1 unless (@n3);

   @n3 = sort {$b <=> $a} @n3;

   my ($n1, $n2, $tmp) = (0, 0, 0);

   $n2 = pop (@n3) while ($n2==0);

   return $n2 unless (@n3);

   while (@n3) {

      $n1 = pop (@n3);
      return 1 if ($n1==1 || $n2==1);
      next if ($n1==$n2);

      while ($n2>0) {
         $tmp = $n2;
         $n2 = $n1 % $n2;
         $n1 = $tmp;
      }
      
      $n2 = $n1;

   }

   return $tmp;

}

my @x = (20,15,0,65,125,25);
my $z = mdc(@x);

print "$z\n";

Scripts recomendados

Xshot

Gerando senhas aleatórias

Separa os dígitos de um número

Simples Contador

Calcula equação de segundo grau completa


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts