20 lines
596 B
Perl
20 lines
596 B
Perl
use ntheory qw/factor vecmax/;
|
|
use threads;
|
|
use threads::shared;
|
|
my @results :shared;
|
|
|
|
my $tnum = 0;
|
|
$_->join() for
|
|
map { threads->create('tfactor', $tnum++, $_) }
|
|
(qw/576460752303423487 576460752303423487 576460752303423487 112272537195293
|
|
115284584522153 115280098190773 115797840077099 112582718962171 299866111963290359/);
|
|
|
|
my $lmf = vecmax( map { $_->[1] } @results );
|
|
print "Largest minimal factor of $lmf found in:\n";
|
|
print " $_->[0] = [@$_[1..$#$_]]\n" for grep { $_->[1] == $lmf } @results;
|
|
|
|
sub tfactor {
|
|
my($tnum, $n) = @_;
|
|
push @results, shared_clone([$n, factor($n)]);
|
|
}
|