RosettaCodeData/Task/Almost-prime/Perl-6/almost-prime-1.pl6
2016-12-05 22:15:40 +01:00

11 lines
282 B
Raku

sub is-k-almost-prime($n is copy, $k) returns Bool {
loop (my ($p, $f) = 2, 0; $f < $k && $p*$p <= $n; $p++) {
$n /= $p, $f++ while $n %% $p;
}
$f + ($n > 1) == $k;
}
for 1 .. 5 -> $k {
say ~.[^10]
given grep { is-k-almost-prime($_, $k) }, 2 .. *
}