RosettaCodeData/Task/Home-primes/Pluto/home-primes-1.pluto
2026-04-30 12:34:36 -04:00

26 lines
597 B
Text

local int = require "int"
require "bignum"
local list = range(2, 20)
list:insert(65)
for list as i do
if int.isprime(i) then
print($"HP{i} = {i}")
continue
end
local n = 1
local j = bigint.new(i)
local h = {j}
while true do
local k = bigint.factors(j):map(|f| -> f:tostring()):concat("")
j = bigint.new(k)
h:insert(j)
if j:isprobableprime(10) then
for l = n, 1, -1 do io.write($"HP{h[n - l + 1]}({l}) = ") end
print(h[n + 1])
break
else
n += 1
end
end
end