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.568 ]

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

Lendo o conteúdo de uma página da Internet

Escrevendo varias linhas em um arquivo qualquer

Calcula equação de segundo grau completa

Saiba quanto de energia seu PC gasta aproximadamente por mês

Obtendo horas do sistema


  

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