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.987 ]
... 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.
#!/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";
Lendo o conteúdo de uma página da Internet
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux









