RosettaCodeData/Task/Semiprime/Perl/semiprime-3.pl
2017-09-25 22:28:19 +02:00

9 lines
210 B
Raku

use ntheory qw/factor is_prime trial_factor/;
sub issemi {
my $n = shift;
if ((my @p = trial_factor($n,500)) > 1) {
return 0 if @p > 2;
return !!is_prime($p[1]) if @p == 2;
}
2 == factor($n);
}