RosettaCodeData/Task/Semiprime/Perl/semiprime-3.pl
2023-07-01 13:44:08 -04: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);
}