Diferencia entre revisiones de «Implementación de algoritmos de teoría de números/Números amigos»

Contenido eliminado Contenido añadido
Etiqueta: posible vandalismo
Línea 547:
}
fin
 
</source>
 
<source lang="perl">
#!/usr/bin/perl
 
# encuentra numeros amigos hasta un número determinado
# por el usuario, que en este script es $limitnumber = 333333344444;
#
# autor: Juan Carlos Morataya Ramos
# fecha: 26 de enero de 2012.
#
 
use strict;
use warnings;
 
my $limitnumber = 333333344444;
my $nfrd = 0;
my $h;
 
for ($h = 2; $h < $limitnumber; $h++) {
if ($h == $nfrd) { next }
my $numval = checksum($h);
my $friend = checksum($numval);
if ($friend) {
if ($h != $numval) {
if ($h == $friend) {
print "$numval y $h son numeros amigos!\n";
$nfrd = $numval;
}
}
}
}
 
sub checksum {
my $i;
my $test;
my $sum;
my $mynum = $_[0];
for ($i = 1; $i < $mynum; $i++) {
$test = $mynum % $i;
# encuentra numeros multiplos
if ($test == 0) {
$sum += $i;
}
}
return $sum;
}
 
</source>