19 lines
383 B
Plaintext
19 lines
383 B
Plaintext
func is_k_almost_prime(n, k) {
|
|
for (var (p, f) = (2, 0); (f < k) && (p*p <= n); ++p) {
|
|
(n /= p; ++f) while (p `divides` n)
|
|
}
|
|
n > 1 ? (f.inc == k) : (f == k)
|
|
}
|
|
|
|
{ |k|
|
|
var x = 10
|
|
say gather {
|
|
{ |i|
|
|
if (is_k_almost_prime(i, k)) {
|
|
take(i)
|
|
--x == 0 && break
|
|
}
|
|
} << 1..Inf
|
|
}
|
|
} << 1..5
|