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

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

impares e pares

Calcula equação de segundo grau completa

Equação do 2°

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

Renomeando arquivos de forma padronizada


  

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