RosettaCodeData/Task/Almost-prime/Pluto/almost-prime.pluto

27 lines
458 B
Plaintext

local function k_prime(n, k)
local nf = 0
for i = 2, n do
while n % i == 0 do
if nf == k then return false end
++nf
n //= i
end
end
return nf == k
end
local function gen(k, n)
local r = {}
local m = 2
for i = 1, n do
while !k_prime(m, k) do ++m end
r[i] = m
++m
end
return r
end
for k = 1, 5 do
print($"{k}: {gen(k, 10):concat(", ")}")
end